倒排索引是luncence中提出的概念,简单理解就是添加数据的时候对数据进行分词提取,提取出来的词就像一个Set集合,每个词记录了出现的元数据id。
例如数据:
| _id | text |
| 1 | elastic search |
| 2 | ai search |
倒排索引:
| 关键字 | 出现的doc Id |
| elastic | 1 |
| search | 1,2 |
| ai | 2 |
此时,如果搜索关键字elastic search。
那么索引命中情况如下:
| 关键字 | 出现的doc Id | 命中 |
| elastic | 1 | √ |
| search | 1,2 | √ |
| ai | 2 |
根据索引命中情况,以及doc id命中的次数,可以得到数据结果,出现频率越高的条目匹配度越高
| _id | text | 查询出现频率 |
| 1 | elastic search | 2 |
| 2 | ai search | 1 |