【问题标题】:ElasticSearch Regex Query in Phrase Query短语查询中的 ElasticSearch 正则表达式查询
【发布时间】:2017-11-29 11:53:00
【问题描述】:

我正在使用 Elasticsearch,我需要执行 phrase_search,第一个词匹配为正则表达式。 更准确地说: 我需要搜索具有这种模式的字符串:

“(数字)毫秒”。

我知道有 "regexp" 查询类型,但它只允许我搜索一个词。使用两个布尔子句也不行,因为它与顺序无关。

相反,我想使用以某种方式嵌套在短语查询中的 "regexp" 运算符,以便按照确切的顺序进行匹配。

有人知道怎么做吗?

【问题讨论】:

    标签: regex elasticsearch search


    【解决方案1】:

    analyzed (tokenized) 字段上的正则表达式查询只能应用于一个术语,因此您不能进行多词正则表达式查询。您无需在映射中分析(例如使用keyword 类型)ES 字段,这将允许您将正则表达式匹配到整个短语,而不仅仅是术语。

    【讨论】:

      猜你喜欢
      • 2014-10-08
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多