倒排索引的介绍:
倒排索引实际上由于应用中需要根据属性值来查找记录,这种索引表中的每一项都包含一个属性值和具有该属性值的各记录的地址。
由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称之为倒排索引(inverted index),带有倒排索引的文件称之为倒排
索引文件,简称倒排文件。
比如说我们接下来要搜索下面的这句话:
“python写各大聊天系统的屏蔽脏话功能原理”
于是根据搜索引擎给关键词进行分词的操作,于是便可以得到下面的查询统计记录结果:
关键词代表的是 搜索引擎 给句子分出来的词,下面的文章代表搜索引擎具体在哪篇文章中搜索出来的数据
我们还可以把这个搜索出的结果更加的细化,变成更加具体的定位
第二列文章中代表的含义分别是( 该关键词所在的文章 ,<该关键词在文章出出现的索引位置> ,该关键词出现的次数 )
这样以来搜索引擎就可以根据把句子进行分词,然后根据对分词的查询在文章中的位置将其按照某种方法进行排序操作,完成搜索引擎的排序功能。
倒排索引还需要亟待解决的问题:
1、大小写转化的问题,如python和PYTHON应该为一个词
2、词干抽取的问题,比如 look 和 looking 这两个词结果都处理成了look
3、分词,“屏蔽系统”这个词 应该是 分词为 “屏蔽“ , “系统” 两个词还是 "屏蔽系统" 这样一个词
4、倒排索引文件过大 --- 需要压缩进行编码