新版博客SEO优化基本完成,新老博客内容正在整合中,保证每篇文章高质量。 SiteMap RSS Github
Elasticsearch布尔过滤器
嘉美伯爵   2019年10月10日 15:53   数据库   ElasticSearch   144  

组合查询

  • bool
GET lagou/testjob/_search
{
  "query": {
    "bool": {
      "must": {
        "match_all":{}
      },
      "filter": {
        "terms": {
          "salary": [10,30]
        }
      }
    }
  }
}

# term区分大小写  match 
GET lagou/testjob/_search
{
  "query": {
    "bool": {
      "must": {
        "match_all":{}
      },
      "filter": {
        "match": {
          "title": "Python"
        }
      }
    }
  }
}
GET lagou/testjob/_search
{
  "query": {
    "bool": {
      "should": [
        {"term": {
          "title": {
            "value": "python"
          }
        }}
      ],"must_not": [
        {"term": {
          "salary": {
            "value": 20
          }
        }}
      ]
    }
  }
}

嵌套查询 bool套bool

GET lagou/testjob/_search
{
  "query": {
    "bool": {
      "should": [
        {"term": {
          "title": {
            "value": "python"
          }
        },"bool": {
          "must": [
            {"term": {
              "salary": {
                "value": 10
              }
            }}
          ]
        }}
      ]
    }
  }
}

null查询

GET lagou/testjob/_search
{
  "query": {
    "bool": {
      "filter": {
        "exists": {
          "field": "FIELD_NAME"
        }
      }
    }
  }
}
# filter must must_not should 4个