elasticsearch Elasticsearch-统一来自不同索引的搜索结果,elasticsearch,elasticsearch" /> elasticsearch Elasticsearch-统一来自不同索引的搜索结果,elasticsearch,elasticsearch" />

elasticsearch Elasticsearch-统一来自不同索引的搜索结果

elasticsearch Elasticsearch-统一来自不同索引的搜索结果,elasticsearch,elasticsearch,我想用不同的搜索查询对不同的索引执行搜索查询,并统一结果。 我知道有一个,它允许我在多个索引上执行特定的查询 我想要的是对每个索引进行不同的查询,然后执行类似UNION(SQL)的操作 有没有办法做到这一点?您可以使用元数据字段。这将帮助您使用不同的查询查询多个索引 添加带有索引数据、搜索查询和搜索结果的工作示例 索引数据 POST /index1/_doc/1 { "name":"foo" } POST /index2/_doc/1 { &qu

我想用不同的搜索查询对不同的索引执行搜索查询,并统一结果。 我知道有一个,它允许我在多个索引上执行特定的查询

我想要的是对每个索引进行不同的查询,然后执行类似UNION(SQL)的操作

有没有办法做到这一点?

您可以使用元数据字段。这将帮助您使用不同的查询查询多个索引

添加带有索引数据、搜索查询和搜索结果的工作示例

索引数据

POST /index1/_doc/1
{
  "name":"foo"
}

POST /index2/_doc/1
{
  "name":"bar"
}
搜索查询:

{
  "query": {
    "bool": {
      "should": [
        {
          "bool": {
            "must": [
              {
                "match": {
                  "name": "foo"
                }
              },
              {
                "term": {
                  "_index": "index1"
                }
              }
            ]
          }
        },
        {
          "bool": {
            "must": [
              {
                "match": {
                  "name": "bar"
                }
              },
              {
                "term": {
                  "_index": "index2"
                }
              }
            ]
          }
        }
      ]
    }
  }
}
 "hits": [
      {
        "_index": "index1",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.287682,
        "_source": {
          "name": "foo"
        }
      },
      {
        "_index": "index2",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.287682,
        "_source": {
          "name": "bar"
        }
      }
    ]
搜索结果:

{
  "query": {
    "bool": {
      "should": [
        {
          "bool": {
            "must": [
              {
                "match": {
                  "name": "foo"
                }
              },
              {
                "term": {
                  "_index": "index1"
                }
              }
            ]
          }
        },
        {
          "bool": {
            "must": [
              {
                "match": {
                  "name": "bar"
                }
              },
              {
                "term": {
                  "_index": "index2"
                }
              }
            ]
          }
        }
      ]
    }
  }
}
 "hits": [
      {
        "_index": "index1",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.287682,
        "_source": {
          "name": "foo"
        }
      },
      {
        "_index": "index2",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.287682,
        "_source": {
          "name": "bar"
        }
      }
    ]

请查看“”…所有索引都有重叠的数据点?我可以知道用例是什么吗。。这样我才能帮上忙better@SahilGupta所有索引中都有几个重叠的数据点。我想统一日期的结果,这将导致类似于新闻提要的结果。