Solr和Ajax使用远程数据源自动完成

时间:2011-12-12 13:48:50

标签: jquery autocomplete solr datasource

我正在使用JSP在使用Solr实现自动完成时,我使用以下代码来检索术语列表:

SolrQuery query = new SolrQuery();
query.addTermsField("name_auto");
query.setTerms(true); 
query.setTermsPrefix(TEXTFIELD VALUE);

... 

我将根据文本字段(前缀)的值(例如“k”)检索术语列表,另外,我还要为每次按键更新此列表。

我关注此链接: http://www.mattweber.org/2009/05/02/solr-autosuggest-with-termscomponent-and-jquery/

我正在使用那些JQuery文件:(它与Google库中的相同) http://jquery.com/

因为我尝试了这段代码,但问题是如何编写URL以便我可以为我的自动完成远程数据源???

谢谢

1 个答案:

答案 0 :(得分:2)

好的,谢谢大家,我使用JQuery UI文件和教程解决了我的问题,这是我的代码:

$(function() {
$( MYTEXTFIELDNAME ).autocomplete({
   source: function( request, response ) {
     $.ajax({
           url: 'http://localhost:8080/solr/terms?terms=true&terms.fl=MYAUTOFIELD&terms.prefix=' 
                +request.term+'&wt=json',
     dataType: "json",
     data: {
       style: "full",
       maxRows: 5,
       name_startsWith: request.term
      },

      success: function( data ) {
     response( $.map( data.terms.MYAUTOFIELD, function( item ) {
      return {
        label: item,
        value: item,
             }
    }));
    }
         });
     },
      minLength: 1,
.... 

其余代码如http://jqueryui.com/demos/autocomplete/#remote

中所述 再次感谢。