可以比较来自不同查询的_score吗?

时间:2014-12-23 20:02:33

标签: elasticsearch

在我的应用程序中,我发出多个查询,每个查询到不同的索引。然后,我合并这些查询的结果,并使用_score属性对它们进行排序,以便根据它们的相关性对它们进行排序。但我想知道这是否有意义,因为结果来自不同的查询?

我想我的问题是:可以对来自不同查询的_score进行比较吗?

1 个答案:

答案 0 :(得分:2)

不是发出多个查询,而是在一个查询中将它们聚集在一起是个好主意。 您可以使用索引查询来执行索引specefic操作。

类似

{
  "bool": {
    "should": [
      {
        "indices": {
          "indices": [
            "index1"
          ],
          "query": {
            "term": {
              "tag": "wow"
            }
          }
        }
      },
      {
        "indices": {
          "indices": [
            "index2"
          ],
          "query": {
            "term": {
              "name": "laptop"
            }
          }
        }
      }

    ]
  }
}

完成此操作后,将根据_score对结果进行排序。 希望有所帮助。