首页 理论教育 Lucene工作原理-解析或Lucene工作原理简析

Lucene工作原理-解析或Lucene工作原理简析

时间:2023-10-04 理论教育 版权反馈
【摘要】:Lucene信息索引的过程是: 文本库建立、索引建立、搜索和结果处理。图5-1 Lucene多元数据检索原理Lucene建立索引调用函数的过程如图5-2所示。图5-2 Lucene索引函数过程Document是一种逻辑文件,与一个物理文件相对应,它包含多个Field。Lucene得到查询结果后,要把结果显示出来就有个排序的问题。Lucene还提供对查询结果进行过滤的函数Filter。图5-3 Lucene与应用程序之间的关系

Lucene工作原理-解析或Lucene工作原理简析

Lucene信息索引的过程是: 文本库建立、索引建立、搜索和结果处理。Lucene只能直接对纯文本数据进行索引,而现实中纯文本数据越来越少,越来越多的是富媒体数据,如PDF、WORD、HTML、XML、RTF。Lucene中没有能够自动索引非纯文本的工具,但可以使用工具从这些富媒体中提取纯文本数据,再对其索引,如图5-1所示。

图5-1 Lucene多元数据检索原理

Lucene建立索引调用函数的过程如图5-2所示。

图5-2 Lucene索引函数过程

Document是一种逻辑文件,与一个物理文件相对应,它包含多个Field。将Document加入Index Writer就是将Document建立索引,生成索引文件。Index Writer是一个索引器,专门负责给文档建立索引。建立索引的过程是文档通过索引器向各个索引文件写入索引的过程,这些过程是通过Index Writer上面各个函数完成的。(www.xing528.com)

Lucene使用Index Searcher进行搜索,Hits类可以帮助取得Lucene搜索的结果,再通过对搜索的结果进行评分,最后输出结果。查询方式有多种,包含词条查询、布尔查询、范围查询、前缀查询、短语查询、多短语查询、模糊查询、通配符查询、跨度查询和正则表达式查询等等。

Lucene得到查询结果后,要把结果显示出来就有个排序的问题。Lucene提供使用score进行自然排序,它可以按照文档得分、文档的内部ID号或是按一个或多个字段排序。Lucene还提供对查询结果进行过滤的函数Filter。最后是翻页问题,翻页依赖编程人员选择的方法,目前有3种方法,包含依赖于会话、二是多次查询,三是会话缓存加多次查询的翻页。

图5-3表示Lucene通过索引接口索引应用资源,将它们在Lucene索引数据库中建立索引,最后通过查询接口为用户提供查询。

图5-3 Lucene与应用程序之间的关系

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈