lunece的倒排序索引结构

听说倒排序索引好长时间了 感觉挺神秘的 ,下面我们通过一个例子来解读一下什么是倒排序索引结构。
假设有两片文章 如下,
文章1:Tom lives in Guangzhou,I live in Guangzhou too.
文章2:He once lived in Shanghai. 

lucene要对这两片文章简历索引,大概的步骤是这样的
1.找出文章中的所有单词,这个非常简单啦
2.去掉这些单词中无意义的, 如 in too等
3.还原单词,如lives lived 还原成live。中文就没有这个问题啦
4.建立倒排序索引结构

我们重点看一下这两篇文章的倒排序索引结构是什么样子,
关键字     文章号
Guangzhou  1
live       1,2
shanghai   2

这就是传说中的倒排序索引了------通过关键字 找到文章号
这些关键字在lucene中叫做term
lucene中还有一个field的概念,主要是用来描述term出现在哪儿的,如live是出现在文章内容中还是文章标题中的,一个term可能有多个field。
如果要搜索live,很方便的就可以找到对应的文章号,而不需要进行全文扫描,这样就大大提高了速度,也提升了服务器性能。

当然lucene的索引文件并没有这么简单,通常还会有出现频率 出现位置(为高亮显示)等

参考 http://hi.baidu.com/zhaolijun08/blog/item/d15c7a082e7c4e33e92488df.html

你可能感兴趣的:(html,Blog,Lucene)