您好,我正在尝试计算查询结果集中特定关键字的出现次数。例如,我正在尝试以下查询
{
"query": {
"bool": {
"must": {
"bool": {
"should": [
{
"match": {
"textlowercase": "bottle"
}
},
{
"match": {
"textlowercase": "cow milk"
}
}
]
}
}
}
}
}
以上查询将返回我说N个文档。现在,有什么方法可以计算这N个文档中瓶和牛奶的出现情况,这些文档是上述搜索查询的返回结果
答案 0 :(得分:0)
您可以通过使用聚合来实现。
{
"size": "0",
"aggs": {
"docs_groupName_in": {
"terms": {"field": "fieldname.keyword","include" : "bottle"}
},
"docs_groupName_sl": {
"terms": {"field": "fieldname.keyword","include" : "cow milk"}
}
}
}
答案 1 :(得分:0)
{
"query": {
"bool": {
"must": {
"bool": {
"should": [{
"match": {
"textlowercase": "bottle"
}
},
{
"match": {
"textlowercase": "cow milk"
}
}
]
}
}
}
},
"aggs": {
"docs_bottle": {
"terms": {
"field": "textlowercase",
"include": "bottle"
}
},
"docs_cow_milk": {
"terms": {
"field": "fieldname.keyword",
"include": "cow milk"
}
}
}
}
上述查询已解决了此问题。但是,它不计算包含一个以上单词的单词,例如牛奶