lucene全文检索接口说明

realroc 贡献于2011-12-11

作者 maoyj  创建于2009-01-05 08:41:00   修改者panghf  修改于2009-01-05 08:41:00字数625

文档摘要:
关键词:

外部接口说明 API:搜索提交/搜索结果 1. 搜索全部字段,或基于某些字段的搜索 2. 搜索结果按字段排序 3. 搜索结果分页,起始终止记录 4. 搜索结果类型:字段列表(IOAS资产管理风格)或摘要(Google风格),摘要做高亮处理 API: 1. 立即全部索引(name) 2. 立即索引单个文档(name,key) 3. 删除文档索引(name,key-value) 全文检索应用 索引实例相关配置: 1. 索引实例名称 2. 配置数据库连接 3. SQL:查询所有记录(用于全部索引) 4. SQL:根据主键查询特定记录(用于即时单个记录索引) 5. 唯一标识字段:用于即时删除索引、生成详细页面链接等。 6. 增量标识字段,可以是时间或递增序列(用于增量索引) 7. SQL查询的各字段,设置是否索引、是否分词、字段类型(影响排序策略) 8. 使用Quartz定期重建索引。配置重建策略:增量索引、全部重建索引… 9. 数据库字段-显示字段名称 映射 10. 详细页面链接 搜索结果文档模板 9885A004 Canon PowerShot SD500 329.95 http://canon.com/product.jsp?id=9885A004 9885A004 digest http://canon.com/product.jsp?id=9885A004 全文检索应用 SQL查询 Lucene Document 对象 Lucene IndexWriter Lucene IndexSearcher Lucene Hits 对象 (引用多个Document对象) XML中间表示 数据库 HTML/JSP… API: 1. 即时全部重建索引 2. 即时插入索引 API:搜索关键字 1. 基于字段的索引、排序 2. 分页 3. 查询结果是字段列表还是摘要 4. 关键字关系(and/or) Lucene 分页处理 数据库查询结果转换为Lucene Document 对象 可选:XML中间表示,暴露通用API,便于扩展。 索引实例(基于索引的存储位置区分索引实例) 索引实例相关配置: 1. 索引实例名称 2. 配置数据库连接 3. SQL:查询所有记录 4. SQL:根据主键查询特定记录 5. 主键:用于即时删除索引 6. 增量标识字段,可以是时间或递增序列(用于增量索引) 7. SQL查询的各字段,设置是否索引、是否分词、字段类型(影响排序策略) 8. 使用Quartz定期重建索引。配置重建策略:增量索引、全部重建索引… 9. 数据库字段-显示字段名称 映射 10. 详细页面链接(在配置中可以提供查看详细信息的链接。同时,调用者可能需要其它链接,比如编辑等,所以需要返回唯一标识符,由调用者自己处理链接) API:即时删除索引 高亮处理() 摘要 全文索引 Lucene Highlighter 外部接口和内部实现 集成方式 1. 独立应用 a) 需要为每个搜索都配置一个索引实例,包括各自的数据库连接配置。 b) 比较适合现在ITIL的结构。比如ITSM和IOAS都需要全文检索,不用各自配置一个全文搜索应用。但应该考虑使全文搜索应用的结构尽量和ITSM相同(比如如何共享数据库连接配置),便于在需要的情况下,嵌入到应用内部。 c) 搜索请求的处理:一是前台AJAX请求,处理全文搜索应用返回的XML,展现页面;二是搜索请求发送到当前应用,由当前应用发送另外一个请求到全文搜索应用,在后台处理XML,返回页面。这两种方式处理起来都有些麻烦。 2. 嵌入应用内部 a) 可以共享“宿主应用”的数据库连接配置。 b) 搜索结果,可以不使用XML,而使用通用的模型对象。这样搜索结果的返回就很简单。 遗留问题 1. 是否需要在全文搜索应用中配置搜索结果页面模板 配置模板后,最终搜索结果页面由全文搜索应用返回,避免处理XML。 可以配置多个模板,在搜索请求中指定模板名称,这样可以实现多种页面展现,比如是查看还是编辑。 带来的复杂性是使用者必须知道全文搜索应用更多的API,以获取数据生成页面。 2. 基于字段排序的效率问题 比如有这样的请求:先按字段排序,再返回分页。这样的请求可能导致索引被遍历一次,效率很低。 3. IP地址识别等 怎样把IP地址和数字区分开来。比如“192.168.0.1”应该被识别为IP地址,不应分词搜索(这里如若分词搜索将导致所有包含0或1的字段都被搜索出来)。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档