我正在进行聚合,我正在寻找某个字段的术语频率。有许多术语非常常见,其中许多术语非常罕见,其中一些是中等程度的。我想找到那些。
在SQL中我会做HAVING num_words < 300 and num_words >50
之类的事情。我试图找到一种方法来告诉聚合做同样的事情。
我该怎么做?
答案 0 :(得分:0)
curl -XGET 'http://127.0.0.1:9200/indexName/typeName/_search' -d '
{
"min_score": 1,
"query": {
"function_score": {
"boost_mode": "replace",
"script_score": {
"lang": "javascript",
"script": "if(_score>min_value && _score<max_value) {_score} else {0.0}",
"params": {
"min_value": 0,
"max_value": 1000
}
},
"query": {
"score_type": "sum",
"query": {
"function_score": {
"boost_mode": "replace",
"script_score": {
"script": "if(doc[\"indexname.amt\"]) {doc[\"indexname.amt\"].value} else {0.0}"
}
}
}
}
}
}
}'
这是我的要求的一部分。我希望它可以帮助你。