【问题标题】:Elasticsearch - search on index1/type2 document scores change when adding documents to /index1/type2Elasticsearch - 在将文档添加到 /index 1/type2 时搜索索引 1/type 2 文档分数会发生变化
【发布时间】:2014-10-08 07:39:51
【问题描述】:

我有一个弹性搜索索引 (index1),其中我有一个类型 (type1)。我将文档添加到 type1 并对其进行了搜索:

POST /index1/type1/_search

{
  "query": {
    "match": {
      "keyword": "quick brown fox"
    }
  }
}

我得到的结果集的分数通常介于 0.03 和 1 之间。

然后我向 index1 添加另一种类型 (type2) 并向其中添加一些文档。当我再次运行完全相同的搜索时,我得到了相同的文档,但它们都有不同的分数,现在从 2 到 5 不等。理想情况下,即使将文档添加到 type2 后,这些文档的分数也不会改变。

关于为什么会发生这种情况的任何想法?我正在对 type1 进行搜索,但将文档添加到 type2 似乎会影响结果的评分。有没有办法阻止这种情况发生?

我正在使用 v1.1.2 的 elasticsearch。我还应该提到,我正在使用一个非常小的数据集(少于 1000 个文档)。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    Elasticsearch 评分详细here,但基本上您遇到的是,您的某些术语的逆文档频率正在根据您对 type2 的索引而变化(它仍然与 type1 在相同的索引中) . IDF 的变化会改变搜索词的相关性。

    避免这种情况的唯一方法是为 type1 和 type2 设置单独的索引(然后,如果您需要在两者之间进行搜索,则需要同时传入两个索引)。

    虽然分数确实没有什么深刻的意义,但实际上应该仅用作某些结果优于其他结果的相对指示。

    【讨论】:

    • 好的,这是有道理的。感谢您的快速回复:D
    猜你喜欢
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 2017-05-12
    • 2020-09-30
    • 2015-11-17
    • 2020-02-01
    • 1970-01-01
    相关资源
    最近更新 更多