lucene如何对搜索内容进行建模

1.文档和域

      文档是lucene索引和搜索的原子单位。文档为包含一个或多个域的容器。域值可以被索引或者不被索引,如果需要搜索一个域则必须对它进行索引。二进制格式的域值只能被存储而不能为索引,在索引一个域的时候需要使用分析器将域值转换为词汇单元。


2.索引过程

 

从上图中可以看出:lucene索引过程分为三个主要步骤,将原始文档转换为文本,分析文本,将分析的文本保存至索引中。在索引操作期间,文本首先从原始数据中提取出来,并用于创建对应的document的对象。该对象包含多个Field实例。他们都用来保存原始数据信息,随后的分析过程将文本处理成大量的语汇单元,最后将语汇单元加入到段结构中。

提取文本和创建文档:

       lucene对于纯文本信息可以轻而易举的从中提取文本,如txt文件,但是如果需要对PDF格式的手册进行索引,你首先也必须从该文档中提取出文本,并用这些信息创建Lucened的文档和域。而java中没有对应的方法来处理PDF格式文件,对应的Microsoft Word 文件活其他非纯文本的格式文件一样。lucene可以结合Tika框架,从而也可以很容易的从中提取到相关的文本信息.

分析文档:

      在索引操作期间,Lucene首先分析文本。将文本数据分隔为语汇单元。然后对他们进行一些可选的操作。例如,语汇单元在索引前需要统一转换为小写字母。以使搜索对大小写不敏感或者去掉相关频繁却没有实际意义的词(如:啊  呵呵。。。)。有关文档的分析,内容相当的多,在这里不在详细说明。后期有时间会详细讲解这方面的东西。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值