Elasticsearch底层使用的使用的lucene
lucene使用的是倒排索引的方式来进行加快检索速度
倒排索引的原理
doc_1 The quick brown fox jumped over the lazy dog
doc_2 Quick brown foxes leap over lazy dogs in summer
对上述内容进行倒排索引
1.先对文本内容进行分词
the /quick /brown /fox..........
2.每个分词进行分类
结果如下图
Term Doc_1 Doc_2 ------------------------- Quick | | X The | X | brown | X | X dog | X | dogs | | X fox | X | foxes | | X in | | X jumped | X | lazy | X | X leap | | X over | X | X quick | X | summer | | X the | X | ------------------------
在检索过程中,会先匹配前面的字段,当检索到所在的文档时,会返回整个文档