Elasticsearch - 在将文档添加到/ index1 / type2时,对index1 / type2文档分数的搜索会发生更改

时间:2014-08-14 15:18:17

标签: elasticsearch

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

POST /index1/type1/_search

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

Elasticsearch评分详细here,但基本上你遇到的是你的某些术语的逆文档频率正在根据你索引到type2的内容而改变(它仍然在同一个INDEX中) TYPE1)。 IDF的更改会更改搜索字词的相关性。

唯一可以避免的方法是为type1和type2设置单独的索引(如果你需要搜索两者,你的搜索需要传入两个索引)。

分数确实没有深刻的含义,实际上只应该用作相关指示,表明某些结果比其他结果更好。