Lucene in action 第一章 初识Lucene

1.3 搜索程序组件

Lucene提供搜索程序的最核心模块:索引模块和搜索模块的类库。

Solr基于Lucene,提供更丰富的UI和API可以直接部署和使用

下图为搜索程序的基本框架。中间黑体部分为Lucene完成的功能,也是搜索引擎的最核心部分。

技术分享

搜索引擎评价:

  满足基本功能:搜索结果正确显示

  搜索回复时间

  扩展功能:语法纠错,关键词高亮等

1.3.1索引组件

搜索引擎原理:

  朴素思想:顺序搜索

  问题:速度太慢

  解决:对文本内容建立索引,通过索引返回结果

  1.获取内容:

    网页内容:爬虫工具

    文件系统特定目录,数据库内容:容易获取

    内容分散(文件系统,局域网内容等):不易获取有

    权限管理的系统:更复杂,需要获取root权限,获取权限列表,实现搜索的权限控制

  内容获取要求以增量的形式运行:可以实时更新

  Lucene不提供内容获取,完全依赖你自己的程序或第三方程序:

    solr:支持数据库,xml,集成tika

    nutch:网络爬虫

    lily:solr+hadoop的分布式搜索系统

  2.建立文档:

  将所有格式的内容(各类文件,数据库的一条记录等)转换成Lucene识别的搜索引擎文档类:Document。document主要包括带值的域,例如标题title,正文content,作者author等等。可以自定义域,还可以运用语义分析器提取正文文本分别写入新的域。

  3.文档分析:

  对文档域值进行分析处理,以便索引。

  主要为分词器和过滤器,实现例如统一大小写,提取词干,分词等操作。

  4.文档索引:将分析的结果进行索引,添加到索引数据库

   倒排索引

  

  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。