解决了使 Elasticsearch 正则表达式工作的问题。我有一个如下所示的文档:
{“content”:“我的名字是 Akesh Jadhav。”}
我尝试使用以下正则表达式“Akesh\sJadhav”将 Akesh Jadhav 与正则表达式查询进行匹配。我使用关键字字段,但此正则表达式不起作用。您能否建议我正确的正则表达式来获取结果,还有一件事是我想仅使用正则表达式执行此搜索。
尝试过 \s、\s 和 \s、[\s]、[\s]。 但没有成功。
以前从未使用过 regexp 函数,但是当使用我的 elasticsearch db 尝试它时,regexp 仅在值与完整字段值匹配时才起作用:
{ "query":
{ "bool": { "must": [
{ "term": { "isEmbedded": { "value": false } } },
{ "bool": { "should": [
{ "regexp": { "hTMLBody.not_analyzed":
{ "value": ".*malicious\\s+ip.*" } } }
] } }
] }}
}
关于部分文本搜索也许这也很有趣:如何在 Elasticsearch 中进行部分匹配?