如何向我的 Lucene 查询添加过滤器?
How to add a filter to my Lucene query?
我想获取过去一小时内发生的事件的每小时平均数。所有事件的字段 "DayType" 必须等于 "T1",字段 "Town" 必须等于 "NA"。
我的基本工作查询如下。但是,我不知道如何通过 "DayType" 和 "Town".
字段添加过滤器
POST /myindex/_search
{
"size": 0,
"aggs": {
"range": {
"date_range": {
"field": "Datetime",
"ranges": [
{
"from": "now-1H/H",
"to": "now/H"
}
]
}
}
}
}
您可以在查询中添加 bool/filter
约束,以便仅对选定的文档计算聚合:
POST /myindex/_search
{
"size": 0,
"query": {
"bool": {
"filter": [
{"term": {"DayType": "T1"}},
{"term": {"Town": "NA"}}
]
}
},
"aggs": {
"range": {
"date_range": {
"field": "Datetime",
"ranges": [
{
"from": "now-1H/H",
"to": "now/H"
}
]
}
}
}
}
我想获取过去一小时内发生的事件的每小时平均数。所有事件的字段 "DayType" 必须等于 "T1",字段 "Town" 必须等于 "NA"。
我的基本工作查询如下。但是,我不知道如何通过 "DayType" 和 "Town".
字段添加过滤器POST /myindex/_search
{
"size": 0,
"aggs": {
"range": {
"date_range": {
"field": "Datetime",
"ranges": [
{
"from": "now-1H/H",
"to": "now/H"
}
]
}
}
}
}
您可以在查询中添加 bool/filter
约束,以便仅对选定的文档计算聚合:
POST /myindex/_search
{
"size": 0,
"query": {
"bool": {
"filter": [
{"term": {"DayType": "T1"}},
{"term": {"Town": "NA"}}
]
}
},
"aggs": {
"range": {
"date_range": {
"field": "Datetime",
"ranges": [
{
"from": "now-1H/H",
"to": "now/H"
}
]
}
}
}
}