如果数据中的单词之间有一些空格,则 Elastic Search 正则表达式无法按预期工作

问题描述 投票:0回答:1

解决了使 Elasticsearch 正则表达式工作的问题。我有一个如下所示的文档:

{“content”:“我的名字是 Akesh Jadhav。”}

我尝试使用以下正则表达式“Akesh\sJadhav”将 Akesh Jadhav 与正则表达式查询进行匹配。我使用关键字字段,但此正则表达式不起作用。您能否建议我正确的正则表达式来获取结果,还有一件事是我想仅使用正则表达式执行此搜索。

尝试过 \s、\s 和 \s、[\s]、[\s]。 但没有成功。

regex elasticsearch whitespace space
1个回答
0
投票

以前从未使用过 regexp 函数,但是当使用我的 elasticsearch db 尝试它时,regexp 仅在值与完整字段值匹配时才起作用:

{ "query": 
  { "bool": { "must": [ 
     { "term": { "isEmbedded": { "value": false } } }, 
     { "bool": { "should": [ 
         { "regexp": { "hTMLBody.not_analyzed": 
                         { "value": ".*malicious\\s+ip.*" } } } 
       ] } } 
    ] }} 
}

关于部分文本搜索也许这也很有趣:如何在 Elasticsearch 中进行部分匹配?

© www.soinside.com 2019 - 2024. All rights reserved.