我有一个与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/