标签:
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.文档索引:将分析的结果进行索引,添加到索引数据库
倒排索引
标签:
原文地址:http://www.cnblogs.com/cjrzh/p/4461332.html