簡體   English   中英

Solrj:如何指定路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM