lucene 与ElasticSearchquery_string完全匹配

41ik7eoe  于 2022-11-07  发布在  Lucene
关注(0)|答案(1)|浏览(180)

我可以通过执行Elasticsearch boolean query来执行完全匹配查询:

GET my_index/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "some_field.keyword": "some value"
          }
        }
      ]
    }
  }
}

some_field被索引为默认字符串类型:

"some_field" : {
  "properties" : {
    "value" : {
      "type" : "text",
      "fields" : {
        "keyword" : {
          "type" : "keyword",
          "ignore_above" : 256
        }
      }
    }
  }
}

由于某种原因,我只能使用Elasticsearch query_string。这意味着,我需要Lucene语法中的等价查询。

3htmauhk

3htmauhk1#

你可以用同样的方法在query_string query中用keyword变异这个场。

{
  "query": {
    "query_string": {
      "query": "some value",
      "default_field": "some_field.value.keyword"
    }
  }
}

相关问题