我想计算每天访问具有特定字段值的文档的次数。我这样做是通过检索每天的索引,然后对每个索引执行搜索。
搜索查询:
"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>
的命中数。我需要排除计数中的所有其他值。
最有效的方法是什么?
你可以使用Regexp Query
{
"query": {
"bool": {
"must": [{
"exists": {
"field": "field_to_find"
},
"regexp": {
"request": "^/data/[0-9]+$"
}
}]
}
}
}