我正在使用Elasticsearch,我需要使用匹配的第一个术语 phrase_search作为正则表达式。 更确切地说: 我需要搜索具有此模式的字符串:
“(数字)msec”。
我知道有“regexp”查询类型,但允许我只搜索一个词。使用两个布尔子句也行不通,因为它与序列无关。
相反,我想使用“regexp”运算符以某种方式嵌套在短语查询中,以便按照确切的顺序进行匹配。
有人知道怎么做吗?
答案 0 :(得分:1)
analyzed
(标记)字段上的正则表达式查询只能应用于术语,因此不能执行多字正则表达式查询。您不需要在映射中分析(例如,使用keyword
类型的ES字段),这将使您可以将正则表达式与整个短语而不只是术语相匹配。