您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
elasticSearch无需查询即可进行过滤(match_all、分数查询)
发布时间:2021-08-17 23:03:39编辑:雪饮阅读()
在上篇中我们实现了过滤(布尔查询),那么如果我希望可以不用查询也能直接过滤呢?
我们可以使用match_all来实现,那么curl请求如:
curl -XPOST "http://localhost:9200/_search" -H "Content-Type: application/json" -d "{\"query\":{\"bool\":{\"must\":{\"match_all\":{}},\"filter\":{\"term\":{\"year\":1962}}}}}"
postman请求正文如:
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"term": { "year": 1962 }
}
}
}
}
那么除了用match_all结合布尔查询,其实还有一种更简单的方法,就是常数分数查询:
请求体如:
{
"query": {
"constant_score": {
"filter": {
"term": { "year": 1962 }
}
}
}
}
Postman请求如:
关键字词:elasticSearch,无需查询即可进行过滤,match_all,分数查询,常数分数查询