Elasticsearch 的搜索支持精确匹配搜索,即 exact value,也就是说,搜索项必须与我们的搜索词完全匹配才会被展示出来。
比如,字段值 2017-01-01,在使用 exact value 搜索的时候,必须输入 2017-01-01,才能搜索出来,如果你输入一个 01,是搜索不出来的。
Elasticsearch 的 full text 搜索,是指在搜索之前,会对文本做一定的处理,比如,格式转换,大小写转换,同义词转换等。
缩写转换
cn vs. china
格式转化
like liked likes
大小写转换
HaiCoder vs haicoder
同义词转换
like vs love
比如,我们的字段值为 2017-01-01,那么搜索 2017,或者搜索 01 时,都可以搜索出来;字段值为 china,那么搜索 cn,也可以将 china 搜索出来;
字段值中包含 likes,那么搜索 like,也可以将 likes 搜索出来;字段值中包含 HaiCoder,那么搜索 haicoder,也可以将 HaiCoder 搜索出来;
字段值中包含 like,那么搜索 love,同义词,也可以将 like 搜索出来。
就不是说单纯的只是匹配完整的一个值,而是可以对值进行拆分词语后(分词)进行匹配,也可以通过缩写、时态、大小写、同义词等进行匹配。
Elasticsearch 的搜索支持精确匹配搜索,即 exact value,也就是说,搜索项必须与我们的搜索词完全匹配才会被展示出来。
而 full text 搜索就不是说单纯的只是匹配完整的一个值,而是可以对值进行拆分词语后(分词)进行匹配,也可以通过缩写、时态、大小写、同义词等进行匹配。