基本概念
①索引(Index) :类似目录 精髓:一切的设计都是为了提高搜索的性能。
②类型(Type):类似关系型数据库中的表,7.X不再支持了。
③文档(Document): 一条数据
④字段(filed):相当于数据表的字段
⑤映射(Mapping):如某个字段的数据类型,默认值,分析器,是否被索引等
⑥分片(shards):类似关系型数据库分表。
⑦副本(Replicas):复制分片叫副本,防止数据丢失,拷贝数据。
⑧分配(Allocation):将分片分配给某个节点的过程,包括分配主/副分片,这个过程由master节点完成的。
倒排索引
通过分词策略形成单词 文字 文章之间的映射关系。
分词器 中英文不一样
keyWord代表不能分词,需要完全匹配
text 文本可以分词
ik_max_word 细粒度拆分 如:中国人 中国 国人
ik_smart 粗粒度拆分 如:中国人
三个名词
词条:索引中最小存储和查询单元
词典:字典 是词条的集合 B+tree HashMap
倒排表:关键词出现在什么位置,出现的频率是什么,每条记录称为倒排项。
倒排索引搜索过程?
查询单词是否在字典中,不在,搜索结束,在,看单词在倒排列表中的指针是什么,通过倒排列表获取单词所对应文档列表,拿文档id去对应数据。
总结:通过id找对应的文章内容。
|