Elastic Search 查询布尔字段

问题描述 投票:0回答:1

我在弹性搜索中有一个查询,我检查布尔字段是否为真。 我想返回此

is_sellable
字段为 true 的所有文档。

查询布尔字段的高效方法是什么?

GET /my-index-000001/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "is_sellable": true
          }
        }
      ],
      "should": [
        {
          "match": {
            "content": {
              "query": "tomas 48 coming home",
              "operator": "OR",
              "fuzziness": "AUTO",
              "prefix_length": 3,
              "max_expansions": 50,
              "fuzzy_transpositions": true,
              "lenient": false,
              "zero_terms_query": "NONE",
              "auto_generate_synonyms_phrase_query": true,
              "boost": 1
            }
          }
        },
        {
          "terms": {
            "Name": [
              "Tomas"
            ],
            "boost": 1
          }
        },
        {
          "terms": {
            "Year": [
              "2023"
            ],
            "boost": 1
          }
        }
      ],
      "adjust_pure_negative": true,
      "boost": 1
    }
  }
}
elasticsearch boolean
1个回答
0
投票

就布尔字段而言,您的示例看起来不错。只要该字段映射为布尔值并建立索引(默认情况下已建立索引),它应该会很快。虽然您查询的

should
部分提出了一些问题,但在不完全了解您的映射和用例的情况下很难提出建议。

© www.soinside.com 2019 - 2024. All rights reserved.