elasticsearch - 结合Elasticsearch查询

标签 elasticsearch

我最近开始学习Elasticsearch,并希望合并两个查询。

{
    'query': {
        'match': {
            'title': 'phrase'
        }
    }
}


{
    'query': {
        'range': {
           '@timestamp': {
              'gte': 'now-30d',
              'lte': 'now'
            }
        }
    }
}

阅读文档后,我发现可以使用 bool 来执行此组合,但是我不知道该如何构造它。

最佳答案

bool(boolean) 是一个提供四个选项的容器

  • 必须-与AND
  • 类似
  • 应该-就像OR
  • Must_not-类似于NOT
  • 过滤器-用作AND,但不计算得分。
  • {
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "title": "phrase"
              }
            }
          ],
          "filter": [
            {
              "range": {
                "@timestamp": {
                  "gte": "now-30d",
                  "lte": "now"
                }
              }
            }
          ]
        }
      }
    }
    

    关于elasticsearch - 结合Elasticsearch查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61742726/

    相关文章:

    elasticsearch - 限制 Elastic Search 返回的结果数量

    elasticsearch - Kibana 未发送有关新数据的警报

    node.js - 使用Node JS堆的Elasticsearch查询内存不足

    amazon-web-services - 如何在 AWS 中使用 elasticsearch 或 Kibana 控制台

    elasticsearch - 避免从Logstash创建双重映射

    Elasticsearch,按地理距离和分数排序聚合

    ruby-on-rails - 如何在 Rails 4 中使用 Tire gem 和 WillPaginate 对结果进行分页

    elasticsearch - 不使用内置标记过滤器的自定义标记生成器

    symfony - Doctrine2和FOSElasticaBundle之间的同步不是实时的吗?

    elasticsearch - Elasticsearch 查询可以有空值参数吗?