我已经去的问题,使ElasticSearch正则表达式的工作。我有一个文档,看起来像这样:
{"content": "keySyAtUXpd8JxrpUH2Sd"}
我尝试了下面的正则表达式key[0-9A-Za-z_]{18}
,它与www.example.com中的字符串完全匹配regexer.com,但当我从ElasticSearch中查询请求时,它没有显示任何命中。
下面是我使用的请求:
curl -XGET 'https://localhost:9200/_search?pretty' -H 'Content-Type: application/json' -H 'Authorization: Basic redacted' -k -d '{
"query": { "regexp": { "content": "key[0-9A-Za-z_]{18}" } }
}'
我也试过用正则表达式.*key[0-9A-Za-z_]{18}.*
,试图将-
转义为\\-
,但它似乎不起作用。
2条答案
按热度按时间jw5wzhpr1#
您需要对
content.keyword
字段运行regexp查询PS:更容易测试和提供反馈,有真实的的内容和真实的查询;- )
nvbavucw2#
您应该添加
-H "Content-Type: application/json"
试试这个: