[英]Solrj: how to specify path
我正在嘗試使用TermsComponent來實現與Solrj的autosuggest,但我沒有看到如何指定路徑(即http://localhost:8983/solr/terms
的/terms
部分)。
如何使用Solrj指定路徑?
額外獎勵:有沒有辦法為terms.fl
param指定多個字段?
謝謝
開始了:
SolrQuery query = new SolrQuery();
query.setParam(CommonParams.QT, "/terms");
query.setParam(TermsParams.TERMS, true);
query.setParam(TermsParams.TERMS_LIMIT, "10");
query.setParam(TermsParams.TERMS_FIELD, "title", "description"); // or whatever fields you want
query.setParam(TermsParams.TERMS_PREFIX_STR, typedInput);
這假設您將條款組件連接在“/ terms”; 默認的solrconfig.xml包含它。
對於獎勵:您可以通過為TERMS_FIELD
(或多個URL &terms.fl=foo
params)添加多個字符串來添加多個字段。
謝謝毛里西奧,指出我正確的方向。
我花了很多時間讓TermsComponent工作。
在一天結束時,我意識到需要調用一組不同的命令才能從“/ terms”requestHandler中檢索結果。
我試圖使用結果
HttpSolrServer server = new HttpSolrServ(solrUrl);
List<SolrDocument> list = server.query(query).getResults()
但是,從TermsComponent獲取結果的正確方法是
HttpSolrServer server = new HttpSolrServ(solrUrl);
TermsResponse termResp = server.query(query).getTermsResponse();
List<Term> tList = termResp.getTerms("fieldNAME");
我希望將來可以幫助別人。
在SolrJ 1.4.1中沒有對TermComponent的直接支持,但是看一下相應的補丁 ,自己很容易實現它。
由於TermsComponent是一個標准組件,您不需要使用/ terms,您可以將它掛鈎到標准查詢請求處理程序 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.