Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Solr Jquery自动完成Url源_Java_Solr_Jquery Autocomplete_Jquery Ui Autocomplete_Solrj - Fatal编程技术网

Java Solr Jquery自动完成Url源

Java Solr Jquery自动完成Url源,java,solr,jquery-autocomplete,jquery-ui-autocomplete,solrj,Java,Solr,Jquery Autocomplete,Jquery Ui Autocomplete,Solrj,在浏览了SO之后,我发现这段代码无处不在,即使我想实现自动完成,我也在使用Solr实现搜索,并想使用TermsComponent来实现自动完成 var cache = {}; $("#textbox").autocomplete({ source: function(request, response) { if (request.term in cache) { response($.map(cache[request.term].d,

在浏览了SO之后,我发现这段代码无处不在,即使我想实现自动完成,我也在使用Solr实现搜索,并想使用TermsComponent来实现自动完成

    var cache = {};
    $("#textbox").autocomplete({
      source: function(request, response) {
       if (request.term in cache) {
        response($.map(cache[request.term].d, function(item) {
         return { value: item.value, id: item.id }
        }))
        return;
       }
       $.ajax({
        url: "/Services/AutoCompleteService.asmx/GetEmployees",  /* I use a web service */
        data: "{ 'term': '" + request.term + "' }",
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataFilter: function(data) { return data; },
        success: function(data) {
         cache[request.term] = data;
         response($.map(data.d, function(item) {
          return {
           value: item.value,
           id: item.id
          }
         }))
        },
        error: HandleAjaxError  // custom method
       });
      },
      minLength: 3,
      select: function(event, ui) {
       if (ui.item) {
        formatAutoComplete(ui.item);   // custom method
       }
      }
     });
现在我的问题是,如何配置url源,它应该是什么,下面的url 给我一个完美的结果,现在请告诉我wat应该是我的url源,如果我想自定义添加更多的参数,比如terms.lower=py&terms.lower.incl=false&indent=true&wt=json等,我应该在url中还是在我的java类中对它们进行编码 列表项=查询(q,Integer.parseInt(limit))

私有列表查询(字符串q,整数限制){
列表项=空;
SolrQuery query=新的SolrQuery();
query.addTermsField(“拼写”);
query.setTerms(true);
query.setTermsLimit(限制);
query.settermler(q);
query.setTermsPrefix(q);
query.setQueryType(“/terms”);
试一试{
QueryResponse qr=server.query(查询);
TermsResponse resp=qr.getTermsResponse();
items=相应的getTerms(“名称”);
}捕获(SolrServer异常){
items=null;
}
退货项目;
}


请帮助,嗯,jquery不太好,所以我想确认一件事,对于我需要的wat,我只需要修改这里的url,或者定制一些其他内容

您不太可能需要参数化这个客户端,所以在服务器端设置这些参数。将它们设置为代码而不是在URL中硬编码通常会更好,这表明了其意图。还记得你可以


最后,不要这样做。请理解您正在使用的jQuery代码段,否则迟早会有问题。

谢谢maurico,但您能帮我找到url源吗,我使用了这个..但无法获得结果。。你能分辨出哪个网址是错的吗
private List<TermsResponse.Term> query(String q, int limit) {
List<TermsResponse.Term> items = null;
SolrQuery query = new SolrQuery();
query.addTermsField("spell");
query.setTerms(true);
query.setTermsLimit(limit);
query.setTermsLower(q);
query.setTermsPrefix(q);
query.setQueryType("/terms");
try {
  QueryResponse qr = server.query(query);
  TermsResponse resp = qr.getTermsResponse();
  items = resp.getTerms("name");
} catch (SolrServerException e) {
  items = null;
}
return items;