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查询的主要区别在于精确度和模糊度