`
iluoxuan
  • 浏览: 571434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lucene原理

    博客分类:
  • java
阅读更多

 

 

Lucene原理

 


 

反向索引

_       字符串到文件的映射

 


左边的称为字典,用户要搜索的词语而右边就是所有包含该次的文档的list称为倒排表posting List.查找lucenesolr3

1.     查找包含lucene关键字的文档链表

2.     查找包含solr关键字文档链表

3.     合并链表中相同的

_       相对扫描多了个索引过程,但是对于大数据索引只要创建一次,索引的更新可以是增量的。

 

 

创建索引

2.1 索引文档建立(txtdocxsl等)

4.     文档可以使pdfdocxsltxt等格式

5.     lucene的基本是纯全本,我接触的

6.     从数据库中导入数据建立索引

2.2 对文档进行分词(中文分词,英文分词等)

中文分词组件:

中文分词算法分类:

http://www.cnblogs.com/lvpei/archive/2010/08/04/1792409.html

http://www.iteye.com/news/9637

 

2.3 对词语进行语言处理(还原词语如cars->car,去掉停用词等)

2.4 索引创建

2.4.1 利用词语(Term)创建字典

_       Term词语对应的documentid

_       


 

_       对字典安装字母排序

         


 

_       合并相同的词,统计词频等

       


 

   Document frequery是该词语出现在多个个文档中

   frequery是改词语在每个文档中出现的次数

2.4.2 对字典按字母排序

2.4.3 合并相同的词(Term)成为文档倒排(Posting List)链表

搜索索引

3.1 输入查询语句(lucene and solr

3.2 对查询语句进行语法,词法,语言处理

3.2.1 词法分析,分析出单词和关键字

3.2.2 语法分析,根据查询语法构造语法树

3.2.3 语言处理同索引过程中的语言处理几乎相

3.3 搜索索引,等到符合语法树的文档

3.4 对搜索结果排序

_       搜索中主要的词有不重要的词

_       一个词的权重计算过程

1.           Term Frequency (tf)即此Term 在此文档中出现了多少次。tf 越大说明越重要。

2.           Document Frequency (df)  即有多少文档包含次Termdf 越大说明越不重要。

3.          


 

 

 

  • 大小: 16.5 KB
  • 大小: 17 KB
  • 大小: 5.4 KB
  • 大小: 5.3 KB
  • 大小: 7.7 KB
  • 大小: 12.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics