我想找到所有通过ID过滤的项目都匹配一些正则表达式,例如
*TEST123* //pattern for regexp
所以预期的结果是项目
ATEST123001
ATEST123002
ATEST123003
TTTTEST123001
...
我可以创建一些脚本来扫描全部存储并将ID保存在日志文件中,以便以后检查。但是我想找到一些更好的解决方案
更新了
我试过了
"query" : { "match_all" : { }, "filtered" : { "filter" : { "regexp": { "id":".test123." } } } }, }
我收到
//嵌套:ElasticsearchParseException [期望的字段名称,但获得START_OBJECT \“filtered \”]
当我尝试
{
"regexp": {
"id": "test123"
}
}
//解析失败[元素[regexp]没有解析器]
ES 1.7.4和Lucene 4.10.4
最佳答案
您可以尝试Query String。
{
"query": {
"query_string": {
"default_field": "if",
"query": "*test123*"
}
}
}
关于regex - 在Elasticsearch字词查询中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36026883/