本人做项目的时候出现的一个小问题,记录一下
ElasticSearch 查询 match和term的区别
有时候我们需要按条件精确查找,比如sql条件的ItemCode='ABC'
在ElasticSearch中如果使用match的话,会把ItemCode字段包含ABC的内容查出来,而我的需求是只想差等于ABC的内容,这时候我们就可以直接把match用term代替,完美解决了这个问题
{
"query": {
"bool": {
"must": [
{ "term": { "PatientID": "1303954" } },
{ "term": { "TestItemCode.keyword": "ABC" } }
],
"must_not": [
{ "match": { "SampleId": "" } }
]
}
},
"size":10,
"sort":[
{"ResultTime":{"order":"desc"}}
]
}
博主记录项目中遇到的问题,介绍了ElasticSearch查询时match和term的区别。当需要精确查找如ItemCode等于ABC的内容时,使用match会查出包含ABC的内容,而用term可解决此问题,并给出了相关查询示例。
2471

被折叠的 条评论
为什么被折叠?



