写点什么

Apache Solr:基于 Lucene 的高伸缩性企业搜索服务器

  • 2007-06-19
  • 本文字数:1102 字

    阅读完需:约 4 分钟

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

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

Solr 的特性可以分成以下几类:

Schema

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

查询

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

核心

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

缓存

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

复制

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

管理界面

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

月初发布的 1.2 版增加了以下新特性:

这是 Solr 孵化成功后的第一次发布,这次发布带来了很多新特性,包括从 CSV/ 分割文本加载数据、定时自动提交、更快的词素划分(faceting)、反向过滤器(negative filter)、拼写检查处理器、近似读音词汇过滤器、正则表达式文本过滤器,以及更多的灵活的插件。

developerWorks 上最近发表的两篇系列文章详细介绍了Solr 的安装、配置、使用和调优的全过程。

查看英文原文: Apache Solr: Lucene Based Server Provides Highly Scalable Enterprise Search

2007-06-19 05:002059
用户头像

发布了 225 篇内容, 共 70.2 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

Kafka资料

Joseph295

透过Net5.5G的棱镜,运营商可以见未来,见机遇

脑极体

对苹果产品一个非常好的评价

星际行者

Java Web(七)Request&Response

浅辄

javaWeb Request Response 11月月更

数据预处理和特征工程-数据预处理-特征选择-方差过滤

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

常见的数据指标体系

穿过生命散发芬芳

数据指标 11月月更

万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!

Python猫

Python

灰度发布设计

星际行者

AIOps

星际行者

【愚公系列】2022年11月 微信小程序-app.json配置属性之debug

愚公搬代码

11月月更

【设计模式】以国足的例子来解释代理模式,希望自己不要被退钱

游坦之

设计模式 11月月更

架构误区系列2:exactly once的消息中间件不需要考虑消息重投

agnostic

消息中间件

混沌工程

星际行者

动态路由协议二

初学者

动态路由 11月月更

混沌工程实践

星际行者

综合实验 配置三层 热备 生成树 ospf 和 rip 以及他们之间的重分发等将内网 全通

初学者

网络 11月月更

TSDB助力风电监控

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

【C语言】enum 枚举类型

謓泽

11月月更

Java Web(六)Servlet

浅辄

javaWeb Servlet 11月月更

支持日均亿级交易处理,腾讯云&金蝶“国产数据库联合解决方案”正式发布

科技热闻

2022-11-12:以下rust语言代码中,结构体S实现了crate::T1::T2的方法,如何获取方法列表?以下代码应该返回[“m1“,“m2“,“m5“],顺序不限。m3是S的方法,但并不属于c

福大大架构师每日一题

rust 福大大

阿里CTO程立:只有全面Serverless化才能实现真正的深度用云

极客天地

API安全问题的原因及挑战

阿泽🧸

API 11月月更

功能强大的开源网络监控工具:LibreNMS,牛逼!

wljslmz

网络监控 11月月更 LibreNMS

架构误区系列3:单元测试依赖外部环境

agnostic

测试 单元测试

Pod 运行时调试

星际行者

为什么大家都喜欢使用宝塔面板?

源字节1号

微信小程序 软件开发

算法题学习---链表中倒数最后k个结点

桑榆

算法题 11月月更

探知数字化研发2 - 企业架构篇

薛飞

研发管理 数字化 企业构架

深入理解客户端篇之OkHttp

邱学喆

websocket 任务调度 连接池 OkHttp3

SQL语句对基本表的修改表结构和数据完整性

乔乔

11月月更

Apache Solr:基于Lucene的高伸缩性企业搜索服务器_Java_James Kao_InfoQ精选文章