我想在solr上自定義多字段分數。Solr多字段查詢排序錯誤
< field name="cat" type="string" indexed="true" stored="true" required="true" multiValued="false" />
< field name="name" type="text_en_splitting" indexed="true" stored="true" required="true" />
< field name="tags" type="text_general" indexed="true" stored="true" required="true" multiValued="true" />
< field name="popularity" type="sint" indexed="true" stored="true" required="true" />
< field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
,其中燒結靶是排序INT
我想
- 查詢匹配 '名稱'
- '普及'
- 查詢比對與 '標籤' 行列。
這裏是我的solrj代碼:
HttpSolrServer solr = new HttpSolrServer("http://localhost:8983/solr");
SolrQuery query = new SolrQuery();
query.setQuery("National");
query.setFields("cat name tags popularity id score");
query.setStart(0);
//boost
query.set("defType", "edismax");
query.set("qf", "name^999.0 tags^2.0 popularity^-1000.0");
QueryResponse response = solr.query(query);
SolrDocumentList results = response.getResults();
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
當我測試,我所有的文檔給,即使他們有不同的標籤和普及以同樣的比分。我不想做複製字段類型和setAddField只根據一個字段排序...
這似乎是一個非常普遍的問題,但我打分了整個網絡,並沒有找到解決我的問題。預先感謝回覆! :)