ElasticSearch正则表达式查询无数据

时间:2019-03-16 18:19:45

标签: elasticsearch

为什么我的正则表达式查询找不到此文档。

enter image description here

文档

enter image description here

我不想找到像这样的消息。 enter image description here

1 个答案:

答案 0 :(得分:0)

从正则表达式中删除美元符号。

{
  "query": {
    "regexp": {
      "message.keyword": "I,.* "
    }
  }
}

更新(根据我的评论)

  • 为什么美元符号不起作用?恕我直言,Elastic documentation有点误导。第一段(提到^$锚点)讨论的是“ 最正则表达式引擎”,而不是Elasticsearch。实际上,以下段落说“ Lucene的模式总是锚定的”,并且由于Lucene为Elasticsearch提供支持,您无需在您的表中显式定义^$正则表达式。
  • 性能。这种查询是非常昂贵的查询,并且可以迅速降低性能。建议您重新考虑文档的结构和/或映射。