Apache Solr : 基于 Lucene 的可扩展集群搜索服务器

  • Ryan Slobojan
  • 崔康

2008 年 11 月 13 日

话题:Java语言 & 开发架构

Apache Solr 项目,是一款基于Apache Lucene的开源企业搜索服务器,最近发布了 1.3 版。InfoQ 采访了 Solr 的创建者Yonik Seeley,了解了新版本的更多信息和 Solr 提供给最终用户的功能。

Seeley 首先描述了目标用户:“需要搜索框、分面浏览(导航)或者两者结合的任何人”,Solr 的关键特性包括:

  • 基于标准的开放接口——Solr 搜索服务器支持通过 XML、JSON 和 HTTP 查询和获取结果。
  • 易管理——Solr 可以通过 HTML 页面管理,服务器统计数据以 JMX 输出,Solr 配置通过 XML 完成。
  • 分面浏览——搜索结果自动分类。
  • 突出显示命中词——匹配的字符自动在搜索结果中高亮显示。
  • 可伸缩性——快速增量更新和快照分发 / 复制到其他服务器。
  • 灵活的插件体系——新功能能够以插件的形式方便的添加到 Solr 服务器上。

Seeley 同时谈到了该版本中的主要新功能:

  • 分布式搜索——索引现在可以透明的分割成多个部分,单个 Solr 服务器基于各个配置和模式支持多索引,无须停止 Solr 服务器就可以改动主要的配置。
  • 扩展了查询功能——包含了一个新的 Java 客户端(SolrJ)和若干新功能,例如直接配置对于特定查询哪些文档首先命中、近似命中、搜索过期、记录分面时间和拼写检查
  • 增强了数据导入工具——数据库和其他结构化数据源现在都可以导入、映射和转化。
  • 更多可定制扩展点——存在一个新的更新处理器链,允许在查询时修改和重定向文档;一个搜索组件链修改和添加查询结果、用户查询分析器和插件式功能。
  • 性能增强——显著提高了索引速度,二进制响应格式和快速查询删除功能。

详细的更新日志可以这里获得。

Seeley 谈到了更多 Solr 在伸缩性、功能和实用性方面的细节:

Solr 已经部署过数以百万计容量的文档,如果借助分布式搜索,Solr 应该能够处理数十亿的文档集合。

Solr 基于 Lucene,具有优秀的全文相关性,可以很方便的提供词组接近性增强、近期文档增强、编辑增强和基于数字值的专有函数的定制评分机制。

AOL 正在使用 Solr 增强它的频道功能:音乐、橄榄球运动、食谱、参考中心、房地产和汽车都使用这项技术。Solr 的搜索功能也应用于 Netflix、 Zappos、Gamespot、和 Internet Archive。还有很多大客户我目前还不能透漏。

关于 Solr 的未来计划,Seeley 提到了更多的可扩展性、对大集群更方便的配置和管理、基于区域和实时的搜索、重构以使用 Spring 配置插件。Seeley 同时提供了一个邮件列表,在那里他详细讨论了 Solr 未来、特别是 2.0 版的计划。

查看英文原文:Apache Solr: Extensible, Clustered Search Server Built on Lucene

Java语言 & 开发架构