一、基本情況
前言:term query和match query牽扯的東西比較多,例如分詞器、mapping、倒排索引等。我結(jié)合官方文檔中的一個實例,談?wù)勛约簩Υ颂幍睦斫?/p>
string類型在es5.*分為text和keyword。text是要被分詞的,整個字符串根據(jù)一定規(guī)則分解成一個個小寫的term,keyword類似es2.3中not_analyzed的情況。
string數(shù)據(jù)put到elasticsearch中,默認(rèn)是text。
NOTE:默認(rèn)分詞器為standard analyzer。"Quick Brown Fox!"會被分解成[quick,brown,fox]寫入倒排索引
term query會去倒排索引中尋找確切的term,它并不知道分詞器的存在。這種查詢適合keyword、numeric、date
match query知道分詞器的存在。并且理解是如何被分詞的
總的來說有如下: