您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在ElasticSearch中使query_string搜索精确短语

如何在ElasticSearch中使query_string搜索精确短语

您需要查看的是正在使用的分析仪。如果您未指定,Elasticsearch将使用标准分析器。在大多数使用纯文本输入的情况下,它非常有用,但不适用于您提到的用例。

标准分析器将执行的操作是将字符串中的单词拆分,然后将其转换为小写字母。

如果要匹配整个字符串“ Classe A”并将其与“ Classe B”区分开,则可以使用关键字分析器。这样会将整个字段保留为一个字符串。

然后,您可以使用匹配查询,该查询将返回您期望的结果。

创建映射:

PUT vehicles
{
  "mappings": {
    "vehicle": {
      "properties": {
        "model": {
          "type": "string",
          "analyzer": "keyword"
        }
      }
    }
  }
}

执行查询

POST vehicles/_search
{
  "query": {
    "match": {
      "model": "Classe A"
    }
  }
}

如果要使用query_string查询,则可以将运算符设置为AND

POST vehicles/vehicle/_search
{
  "query": {
    "query_string": {
      "query": "Classe B",
      "default_operator": "AND"
    }
  }
}
其他 2022/1/1 18:23:24 有429人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶