簡體   English   中英

Elasticsearch:完全禁用IDF以進行搜索結果評分

[英]Elasticsearch : Disable IDF completely for search result scoring

這是我在Elasticsearch中的樣本數據

{
    "_index": "12_index",
    "_type": "skill_strings",
    "_id": "AVKv-kM4axmY3fECZw9T",
    "_source": {
       "str": "PHP PHP PHP"
    }
 },
 {
    "_index": "12_index",
    "_type": "skill_strings",
    "_id": "AVKv-kNfaxmY3fECZw9U",
    "_source": {
       "str": "Javascript PHP Javascript Javascript"
    }
 }


"bool":{
  "must":[
    // some conditions
    {"match_phrase":{"str":"php"}}
  ],
  "should":[
    {"match_phrase":{"sentences":"Javascript"}}
  ]
}

規范已禁用

在結果集中,php(出現16次)得分為13.65(四舍五入),而另一個文檔中出現次數相同的Javascript得分較低(9.58)

根據我的用例,無論單詞有多稀少或字段有多短,我都希望在相同的詞頻上獲得相同的分數。

我怎樣才能做到這一點 ?

這是兩種可能的方法:

1)自定義相似性配置。 請參閱此處的示例以了解這是如何實現的: https//www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-similarity.html#scripted_similarity

2)創建一個腳本引擎:

https://www.elastic.co/guide/zh-CN/elasticsearch/reference/master/modules-scripting-engine.html

在大多數情況下,(1)應該最簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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