1.倒排索引:当用户在搜索引擎搜索框中输入关键词的时候,搜索引擎就会把和关键词有关的页面展现给用户,而这个过程就叫做倒排索引。
2.倒排索引: 由关键词指向文档
将搜索框中的词进行搜索查到哪些id包含这个词,在查这些id,找到词条
1.分词产生倒排索引表
3.正常查询,根据'华为'查询,直接去倒排索引表检索出来,然后去原数据表中查找出来。
3.倒排索引进行分组,根据'华为'、'荣耀'、'手机'分组。
a.'华为'检索、
b.'荣耀'检索、
c.'手机'检索
d.结果统计
问题: 如果检索条件越多,则查询越慢,重复IO检索倒排索引表
原始数据
doc_id
name
desc
匹配数(在分词表中出现)
1
华为手机
中国第一品牌
2
2
华为荣耀手机
年轻人用的手机
3
3
荣耀手机
.....
2
4
青春版手机
.....
1
5
P40手机
.....
1
倒排索引表:根据value找key(doc_id)
分词
doc_ids
华为
[1,2]
手机
[1,2,3,4,5]
荣耀
[2,3]
青春版
[4]
P40
[5]
正排索引: 蜘蛛爬虫经过文字提取、中文分词、去重等操作后,得到的就是独特的、能反应页面的主题内容、以词为单位的字符串。接下来搜索引擎索引程序就可以提取关键词了,为该页面建立与关键词的对应关系,而这个过程就叫做正排索引。
正排索引:在搜索栏输入id查词条
正排索引:根据key找value,先根据原文档生成
doc_id
value
1
华为
1
手机
2
华为
2
荣耀
2
手机
3
荣耀
3
手机
4
青春版
4
手机
5
P40
5
手机
正排索引表
count
bucket
2
华为
5
手机
2
荣耀
1
青春版
1
P40