我正在查詢基於一些過濾器,如內容名稱,大小的solr,但其中一個過濾器是相關的。我正在使用SolrQuery API將過濾器添加到solr。如何根據solr中的相關性進行搜索?
SolrQuery query = new SolrQuery();
query.set("q", mQueryString);
query.addFilterQuery(Name);
但我無法找到價值來提供相關性。
我如何根據內容相關性進行搜索?可以幫助任何人嗎?
我正在查詢基於一些過濾器,如內容名稱,大小的solr,但其中一個過濾器是相關的。我正在使用SolrQuery API將過濾器添加到solr。如何根據solr中的相關性進行搜索?
SolrQuery query = new SolrQuery();
query.set("q", mQueryString);
query.addFilterQuery(Name);
但我無法找到價值來提供相關性。
我如何根據內容相關性進行搜索?可以幫助任何人嗎?
我能夠使用SolrQuery基於相關性得分進行搜索。爲了獲得基於solr默認相關性順序排序的結果,我將'score'參數傳遞給solr查詢並且它工作正常。
SolrQuery solrQuery = new SolrQuery();
solrQuery.setParam("q", keywords);
solrQuery.setParam("q.op", "AND");
solrQuery.setParam("df", "text");
solrQuery.setParam("qt", "/select");
SolrQuery.SortClause sortClause = new SortClause("score", ORDER.desc);
solrQuery.addSort(sortClause);
搜索結果的相關性是在搜索過程中計算出來的,它取決於兩件事:查詢和搜索結果的內容。 計算相關性的確切公式被稱爲TF-IDF,在此處詳細解釋http://www.tfidf.com/
如果您願意,可以使Solr(標題,主題)中的不同字段的得分高於頁面,從而使查詢命中更相關。這就是所謂的現場助推,這裏解釋:https://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_make_.22superman.22_in_the_title_field_score_higher_than_in_the_subject_field
你是什麼意思「內容相關性」。默認情況下,lucene使用TFIDF相似度來評分文檔相關性:https://lucene.apache.org/core/4_0_0/core/org/apache/lucene/search/similarities/TFIDFSimilarity.html。如果你想要一種不同的分類方式,請在你的文章中說清楚 –