ES 的集群模式和 kafka 很像,kafka 又和 redis 的集群模式很像。总之就是相互借鉴!
不管你用没用过 ES,今天我们一起聊聊它。就当扩展大家的知识广度了!
认识倒排索引
「正排索引 VS 倒排索引:」
正排索引 VS 倒排索引
「倒排索引包括两个部分:」
-
单词词典(
Term Dictionary
):记录所有文档的单词,记录单词到倒排列表的关联关系❝
单词词典一般比较大,可以通过
❞B+
树 或 哈希拉链法实现,以满足高性能的插入与查询 -
倒排列表(
Posting List
):记录了单词对应的文档结合,由倒排索引项(Posting
)组成:-
文档
ID
-
词频
TF
:该单词在文档中出现的次数,用于相关性评分 -
位置(
Position
):单词在文档中分词的位置。用于语句搜索(Phrase Query
) -
偏移(
Offset
):记录单词的开始结束位置,实现高亮显示
-
倒排索引
「ElasticSearch
的倒排索引:」
-
ElasticSearch
的JSON
文档中的每个字段,都有自己的倒排索引 -
可以针对某些字段不做索引