2017-04-12 27 views
1

我需要在elasticsearch中檢索文檔,而不是使用默認的評分函數(如tfidf等),而只是通過詞頻或詞頻(不是idf等)。 有沒有辦法修改它?我可以用python嗎?在elasticsearch中更改評分函數

+0

有一些方法只使用協調因子(座標)進行打分和關閉等。我想我只需要我的搜索類型的協調因子(座標)。 tfidf正在懲罰這些條款,因爲它們出現在所有文件中。 –

+0

這是什麼ES版本?你想獲得哪個詞/詞彙的頻率? –

回答

0

可以使用constant_score當你只是不關心TF/IDF

{ 
    "query": { 
     "bool": { 
      "constant_score": { 
       "query": { 
        "match": { 
         "description": "any word" 
        } 
       } 
      } 
     } 
    } 
} 
+0

我希望這些文檔在查詢中與排名最高的排名最高。如果查詢有3個相同的單詞,例如「錫錫」,那麼具有3個「錫」的文檔應該比具有2或1個「錫」或甚至4或5個或更多「錫」的文檔高。你可以假設ES中的所有文檔都包含這個詞「錫」。 –

+0

對不起,tf/idf會這樣做,但你需要另一種算法。 – RoiHatam

+0

有沒有一些方法只使用協調因子(coord)來評分和關閉其他人。我想我只需要我的搜索類型的協調因子(座標)。 tfidf正在懲罰這些條款,因爲它們出現在所有文件中。 –