一、基本情况
前言:term query和match query牵扯的东西比较多,例如分词器、mapping、倒排索引等。我结合官方文档中的一个实例,谈谈自己对此处的理解
string类型在es5.*分为text和keyword。text是要被分词的,整个字符串根据一定规则分解成一个个小写的term,keyword类似es2.3中not_analyzed的情况。
string数据put到elasticsearch中,默认是text。
NOTE:默认分词器为standard analyzer。"Quick Brown Fox!"会被分解成[quick,brown,fox]写入倒排索引
term query会去倒排索引中寻找确切的term,它并不知道分词器的存在。这种查询适合keyword、numeric、date
match query知道分词器的存在。并且理解是如何被分词的
总的来说有如下:

