文件名称:solr 企业搜索引擎教程
文件大小:704KB
文件格式:PDF
更新时间:2014-10-28 09:36:12
solr 企业搜索引擎 lucene query
Apache Solr 是一个开源的搜索服务器,Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。定制 Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一 个描述所有 Field 及其内容的 XML 文档就可以了。定制搜索的时候只需要发送 HTTP GET 请求 即可,然后对 Solr 返回的信息进行重新布局,以产生利于用户理解的页面内容布局。Solr 1.3 版 本开始支持从数据库(通过 JDBC)、 RSS 提要、 Web 页面和文件中导入数据,但是不直接支持从 二进制文件格式中提取内容,比如 MS Office、Adobe PDF 或其他专有格式。 更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。 通过对 Solr 进行适当的配置, 某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此 外,很多 Lucene 工具(如 Nutch、 Luke)也可以使用 Solr 创建的索引 Solr 的特性包括: 高级的全文搜索功能 专为高通量的网络流量进行的优化 基于开放接口(XML 和 HTTP)的标准 综合的 HTML 管理界面 可伸缩性-能够有效地复制到另外一个 Solr 搜索服务器 使用 XML 配置达到灵活性和适配性 可扩展的插件体系 1.2.1 Solr使用Lucene并且进行了扩展 一个真正的拥有动态域(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema) 对 Lucene 查询语言的强大扩展! 支持对结果进行动态的分组和过滤 高级的,可配置的文本分析 高度可配置和可扩展的缓存机制 5/8/2011 Page 4 5/8/20112009-02-17 版权所有,侵权必究All rights reserved 第4页,共56页Page 4 , Total56 性能优化 支持通过 XML 进行外部配置 拥有一个管理界面 可监控的日志 支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution) 1.2.2 Schema(模式) 定义域类型和文档的域 能够驱动智能处理 声明式的 Lucene 分析器规范 动态域能够随时增加域 拷贝域功能允许对一个域进行多种方式的索引,或者将多个域联合成一个可搜索的域 显式类型能够减少对域类型的猜测 能够使用外部的基于文件的终止词列表,同义词列表和保护词列表的配置 1.2.3 查询 拥有可配置响应格式(XML/XSLT,JSON,Python,Ruby)的 HTTP 接口 高亮的上下文搜索结果 基于域值和显式查询的片段式搜索(Faceted Search) 对查询语言增加了排序规范 常量的打分范围(Constant scoring range)和前缀式查询-没有 idf,coord,或者 lengthNorm 因子,对查询匹配的词没有数量限制 函数查询(Function Query)-通过关于一个域的数值或顺序的函数对打分进行影响 性能优化 1.2.4 核心 可插拔的查询句柄(Query Handler)和可扩展的 XML 数据格式 使用唯一键的域能够增强文档唯一性 能够高效地进行批量更新和删除 用户可配置的文档索引变化触发器(命令) 并发控制的搜索器 能够正确处理数字类型,从而能够进行排序和范围搜索 能够控制缺失排序域的文档 支持搜索结果的动态分组 1.2.5 缓存 可配置的查询结果,过滤器,和文档缓存实例 可插拔的缓存实现 后台缓存热启:当一个新的搜索器被打开时,可配置的搜索将它热启,避免第一个结果慢 下来,当热启时,当前搜索器处理目前的请求(???)。 后台自动热启:当前搜索器缓存中最常访问的项目在新的搜索器中再次生成,能够在索引 器和搜索器变化的时候高速缓存常查询的结果 5/8/2011 Page 5 5/8/20112009-02-17 版权所有,侵权必究All rights reserved 第5页,共56页Page 5 , Total56 快速和小的过滤器实现 支持自动热启的用户级别的缓存 1.2.6 复制 能够将使用 rsync 传输时改变的索引部分有效的发布 使用拉策略(Pull Strategy)来简化增加搜索器 可配置的发布间隔能够允许对时间线和缓存使用进行权衡选择 1.2.7 管理接口 能够对缓存使用,更新和查询进行综合统计 文本分析调试器,能够显示每个分析器每个阶段的结果 基于 WEB 的查询和调试输出:解析查询输出,Lucene 的 explain 方法细节,能够解释为 何某个文档打分低,被排除在结果中等等