elasticsearch - 没有通配符星号的 Elasticsearch 查询

标签 elasticsearch

我有一个与ElasticSearch有关的问题。
我有一个标题为“MS-PS_3.2”的文档
当我仅搜索“MS”时,它将根据查询返回文档

:query=>"*MS\\-PS_3.2*"

当我输入完整的文档标题时,它不会返回结果。查询如下所示:

:query=>"*MS\\-PS_3.2*"

但是,当我删除通配符时,它将返回文档

:query=>"MS\\-PS_3.2"


我的完整查询如下所示:

 {:query=>{:bool=>{:must=>[{:query_string=>{:query=>"*MS\\-PS_3.2*"}}, {:terms=>{:bank_id=>[4]}}]}}, :size=>10000}


查询中是否需要更改?

最佳答案

当您将查询用作请求参数的一部分时,请尝试使用:query=>\*MS\\-PS_3.28\*
当我使用请求正文搜索时,它似乎对我有用,但是您想尝试使用"query" : "\\*MS\\-PS_3.2\\*"吗?

关于elasticsearch - 没有通配符星号的 Elasticsearch 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52321469/

相关文章:

elasticsearch - Elasticsearch 中多字段和复制到的区别?

elasticsearch - 如何使用MultiTermVectorsAsync

node.js - 在与数据库的连接上同步 elasticsearch - nodeJS

elasticsearch: cluster_block_exception TOO_MANY_REQUESTS/12/index 只读/允许删除 (api)

elasticsearch - 如何配置Filebeat Kubernetes Deamon以在 namespace 或Pod名称上建立索引

elasticsearch - 如何影响Elasticsearch自动建议查询首先返回完全匹配?

Elasticsearch - 没有可用的节点

postgresql - Postgres "Materialized View"刷新为 ElasticSearch 文档更新的来源?

java - 正则表达式:找到最后一次出现的模式

Centos 6.6 上的 Elasticsearch 未找到 Java,所有路径变量均已设置且有效