倒排索引是搜索引擎的核心,它是一种像数据结构一样的散列图,可将用户从单词导向文档或网页。主要目标是快速从数百万文件中查找数据
倒排索引主要体现在文档的保存和查询流程中
保存文档时,会先根据文档进行分词,然后使用分好的词条作为key进行排序,然后将文档的标识作为value进行存储
查询文档时,也会先对查询关键字进行分词,然后根据分好的词条直接定位相关文档,再做结果的合并
在ES中用于声明查询条件的关键字主要有:
match_all:查询所有
match、multi_match:全文检索
term:精准词条查询
range:范围查询
bool、must、must_not、should、filter:复合查询
还有一些跟地理位置、相关性算分相关的
ES有两个字符串类型,分别是:keyword 和 Text,他们两个的区别主要是在分词方面
query和filter都可以实现ES中的查询,区别是
保证MySQL和ES数据一致性的方式有很多,下面列举几个: