结论:
1、term filter/query : 根据输入值进行搜索(输入什么搜索什么),对数字、布尔、日期天然支持
2、text 类型需要在建索引时指定为not_analyzed (新版本用keyword就行),才能用 term query
3、相当于SQL中的单个where条件
1、创建测试数据
POST /forum/article/_bulk
{"index" : {"_id":1}}
{"articleId":"XHEX-A-3412-#f234","userId":1,"hidden":false,"postDate":"2021-07-11"}
{"index" : {"_id":2}}
{"articleId":"XHEX-A-3422-#f234","userId":2,"hidden":false,"postDate":"2021-07-02"}
{"index" : {"_id":3}}
{"articleId":"XHEX-A-3432-#f234","userId":3,"hidden":true,"postDate":"2021-07-20"}
{"index" : {"_id":4}}
{"articleId":"XHEX-A-3442-#f234","userId":4,"hidden":false,"postDate":"2021-07-01"}
{"index" : {"_id":5}}
{"articleId":"XHEX-A-3412-#f234","userId":5,"hidden":false,"postDate":"2021-06-11"}
2、使用案例
1、根据用户id查询
GET /forum/article/_search
{
"query" : {
"constant_score": {
"filter": {
"term": {
"userId": "1"
}
}
}
}
}
结果:
{
"took" : 23,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [
{
"_index" : "forum",
"_type" : "article",
"_id" : "1