我想计算每天访问具有特定字段值的文档的次数。我这样做是通过每天检索索引,然后针对每个索引执行搜索。
搜索查询:
"query": {
"bool": {
"should": {
"exists": {
"field": "field_to_find"
},
},
}
}
文档结果结构:
{
...
"_shards":{
...
},
"hits": {
"total": 6,
"hits": [{
...
"_source": {
"request": "/data/000000/comment",
"field_to_find": 000000,
...
}
}, {
...
"_source": {
"request": "/data/111111",
"field_to_find": 111111,
...
}
}]
}
}
我只想计算包含请求结构/dataset/<data_id>
的匹配数。我需要在计数中排除所有其他值。
执行此操作的最佳方法是什么?
答案 0 :(得分:1)
您可以使用Regexp Query
{
"query": {
"bool": {
"must": [{
"exists": {
"field": "field_to_find"
},
"regexp": {
"request": "^/data/[0-9]+$"
}
}]
}
}
}