term和match是Elasticsearch中的两个不同的查询类型。
1. term查询:term查询属于完全匹配,不会分词
使用term查询keyword类型和text类型数据到区别如下
*①查询keyword类型的数据,因为keyword类型数据不分词,需要完全匹配
* ②查询text类型的数据,因为text类型的数据分词,不需要完全匹配,只要查询的数据在分词范围内就可以查询,所以查询的时候如果用拆开查可以查询的到,但是要是直接全部查,就是查询不到
2. match查询:match会被分词,分词结果和数据类型的结果匹配即可
* ①查询keyword类型数据不会被分词,match查询需要跟keyword的数据类型完全匹配才可以
* ②查询text类型的数据,match分词,text也分词,只要match的分词结果和text的分词结果有相同的就匹配。
因此,Term查询和Match查询的主要区别在于精确度和模糊度
Term查询用于完全匹配keyword类型数据,不适用于分词的text类型;而Match查询会分词,适合text类型数据的模糊搜索。两者主要区别在于精确度和对分词处理的方式。

1万+

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



