摘要:es之所以可以被搜索,是因为数据被分词之后,组织成倒排索引结构。这个最终要的理解的点,就在于“分词”的概念。这里只是简单的说明这三种搜索的区别,不去讲解es的keyword和text,如果不懂这个的话建议区查查,这里不多作赘述。
1:match
match 会将你数入的查询string 进行分词,当查询某个文档的时候,只要被查询的文档,包含任意一个你输入的分词结果,就会成功。2. query_string
2.match_phrase
match_phrase 会将你数入的查询string 进行分词,当查询某个文档的时候,要求被查询的文档的倒排索引中包含所有的 你输入的分词结果。且要保证顺序一致,顺序一致的意思就是单词出现的顺序,保持一致。 默认还要求仅仅相邻,slop参数可以控制是否紧紧挨着。
3.query_string
query_string 和match_phrase 基本一样,区别就是,不要求顺序一致。
未完待续。。。