2014-01-19 136 views
8

在我的具體使用情況下,被作爲TF-IDF算法的一部分計算的IDF因素打亂了我的查詢得分。基本上,我希望查詢只考慮術語頻率。是否有可能爲特定索引禁用IDF因子,即將其設置爲1?我研究過相似性模塊(版本0.90.X),但還沒有找到任何可以幫助的東西; function_score查詢也一樣。我需要在java中編寫自定義相似類嗎?還是有一個我想要實現的插件?禁用IDF計算

+0

我相信它與我的問題相關http://stackoverflow.com/questions/22016735/elasticsearch-similary-for-countries,我試圖使用DFR但沒有成功 – Alex

回答

1

什麼constant_score查詢?

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/ignoring-tfidf.html

不要猶豫使用?解釋= true來看看得分是如何工作的。

,你可以在這裏沒有constant_filter:

With IDF

而且隨着constant_filter查詢(即包裝的實際查詢):

Without IDF

+2

由於「constant_score」確實關閉了TF和IDF ,我敢肯定,使用Filter時結果與結果相同。 @GlurG似乎只想在TF打開時關閉IDF。你有什麼主意嗎? – humbroll

+1

H,你的意思是改變評分/排名公式?這個頁面應該有幫助=> https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-similarity.html。 –