“键入时搜索”和ElasticSearch

gdrx4gfi  于 2023-01-04  发布在  ElasticSearch
关注(0)|答案(1)|浏览(151)

我有一个文本字段,类型设置为“随键入而搜索”。当我请求数据时,我会在街道字段中得到与布莱克或28对应的所有数据。
(街道字段包含街道名称+门牌号)
但是我怎么能只得到与以BLAKER开头的名字和以28开头的门牌号相对应的数据呢?

http://localhost:9200/xxx-2023.01/_search
{
  "query": {
    "multi_match": {
      "query": "BLAKER 28",
      "type": "bool_prefix",
      "fields": [
        "street",
        "street._2gram",
        "street._3gram"
      ]
    }
  }
}

问候
我希望结果同时包含BLAKER和28

yhived7q

yhived7q1#

添加运算符AND。

{
  "query": {
    "multi_match": {
      "query": "BLAKER 28",
      "operator": "and", 
      "type": "bool_prefix",
      "fields": [
        "my_field",
        "my_field._2gram",
        "my_field._3gram"
      ]
    }
  }
}

相关问题