首页 > 解决方案 > 具有多个条件的弹性搜索查询

问题描述

我是弹性搜索的新手,我需要以下场景的帮助:

我有两个字段tagauthor。我想用条件搜索数据

(tag="1" and (author="A" or author="B")) 或 (tag="2" and (author="A" or author="C")) 或 tag="3"

请概述如何构建 Elastic Search 查询。

标签: elasticsearchelasticsearch-7

解决方案


使用查询字符串查询

POST your-index/_search
{
  "query": {
    "query_string": {
      "query": "(tag:'1' AND author:('A' OR 'B')) OR (tag:'2' AND author:('A' OR 'C'))"
    }
  }
}

推荐阅读