Apache Solr

来自开放百科 - 灰狐
跳转到: 导航, 搜索

基于Lucene的Apache Solr企业搜索服务程序,它以可移植的war文件的形式发布,提供了立等可用的索引和查询功能。用户通过HTTP界面与Solr交互,用XML文档和HTTP GET参数向Solr提交索引内容和进行查询。Solr还提供了主-从索引复制机制,以便在大规模的应用中分散查询负载。

Solr最初是由CNET Networks开发的,后来在2006年被捐赠给了Apache软件基金会。目前它已被几个高流量的公众网站用作搜索程序。社区对其的反应也很好,有用户报告说在索引了高达数百万个文档的情况下,Solr仍然维持良好的性能表现。

使用 PHP 和 Apache Solr 实现企业搜索

目录

指南

bin/solr start -e cloud -noprompt
http://localhost:8983/solr
bin/post -c gettingstarted docs/
bin/post -c gettingstarted example/exampledocs/*.xml
bin/post -c gettingstarted example/exampledocs/books.json
bin/post -c gettingstarted example/exampledocs/books.csv
http://localhost:8983/solr/gettingstarted/browse

特性

Schema

  • 定义文档中的索引域(field)和索引域类型
  • 动态索引域功能,可以随时增加新索引域
  • 显式类型消除了猜测索引域类型的需要
  • 停止词(stopword)表、同义词表和保护词表的配置被放到外部文件中
  • 多个新增的文本分析组件,包括分词、正则表达式过滤器和近似读音过滤器

查询

  • HTTP界面和可配置的应答格式(XML/XSLT、JSON、Python、Ruby)
  • 可按任意数量的索引域排序
  • 查询词高亮的上下文片断
  • 固定的评分范围和前缀查询——没有idf、coord或lengthNorm因子,也没有限制查询所匹配的关键词数量
  • 函数查询——评分受到索引域的的数值取值或次序的函数影响
  • 日期计算——查询和更新中的日期可用与当前日期的差值来指定

核心

  • 可插拔的查询处理器和可扩展的XML数据格式
  • 由唯一索引主键确保的文档唯一性
  • 批量更新和删除,以确保高性能
  • 由索引变更所触发的命令,用户可对其进行配置
  • 能正确处理用于排序和范围查询的数值类型

缓存

  • 可插拔的缓存实现
  • 在后台对缓存的“自动预热(Autowarming)”(当前搜索器最后访问的缓存内容将被自动填充进新搜索器的缓存,以在索引/搜索器变更时获得更高的缓存命中率)
  • 快速/轻量的过滤器实现
  • 带有“自动预热”功能的用户级缓存

复制

  • 通过远程同步(rsync)传输高效分发变化了的索引片段
  • 主动获取(Pull)策略,令搜索器的增加变得简捷
  • 可配置的分发周期,允许在及时性和缓存利用率之间获得平衡

管理界面

  • 对缓存利用率、更新和查询的全面统计信息
  • 文本分析调试器,可显示文本分析器每一阶段的结果
  • 带调试输出的Web查询界面

以上中文信息来源: http://www.infoq.com/cn/news/2007/06/solr

文档

用户

Apache Solr和Elasticsearch的用户都很多很多,都基于Apache Lucene构建,它们是开源搜索引擎的不二之选。

更多用户: http://wiki.apache.org/solr/PublicServers

图集

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱