写点什么

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:001947
用户头像

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

关注

评论

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

工作中当你感觉焦虑的时候,该怎么办?

一笑

28天写作

AI数学基础之:奇异值和奇异值分解

程序那些事

人工智能 机器学习 程序那些事 矩阵运算

Linux c 开发 - 内存管理器ptmalloc

赖猫

Linux 后台开发 内存管理

使用 Tye 辅助开发 k8s 应用竟如此简单(五)

newbe36524

微服务 netcore 全链路追踪 dotnet dapr

Elasticsearch Validate API

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 二月春节不断更

电商平台:收货地址

worry

电商平台

关于MVCC,我之前写错了,这次我改好了!

艾小仙

Java MySQL 数据库 面试 MVCC

2021金三银四必备:Java后端开发面试总结【25个技术专题】

比伯

Java 编程 架构 面试 计算机

保持前进

Nydia

用例画成流程图 - 第四章,第三讲总结

mas

框架效应如何影响人的决策?「Day 4」

道伟

心理 决策 28天写作

地表建筑物识别 Dayo2

IT蜗壳-Tango

七日更 28天写作 2月春节不断更

将上周写的用例画成流程图-第四章,第三讲

mas

现在与以前的你相遇在此刻,让二种不同的风格,创造未来你自己的手艺吧。

叶小鍵

改变认知,到写作方式的改变

数列科技杨德华

28天写作

产品经理训练营-第五周作业

月亮 😝

程序员的职业生涯与赛道选择

刘旭东

职业规划 码农 职业生涯

索引失效的场景

new life

MySQL 索引性能

设计模式【2.2】-- 工厂模式怎么演变成抽象工厂模式?

秦怀杂货店

设计模式 工厂模式 23种设计模式 工厂方法模式

28天瞎写的第二百四十二天:正念冥想,我要想什么?

树上

冥想 28天写作 正念

第十三周学习心得

cc

深度集成 Flink: Apache Iceberg 0.11.0 最新功能解读

DataFunTalk

产品经理训练营-第五周学习总结

月亮 😝

「产品经理训练营」第五周 作业记录

周玲

得不到的永远在骚动——蔡格尼克效应

Justin

心理学 习惯养成 28天写作 游戏设计

【计算机内功修炼】九:程序员应如何理解协程

码农的荒岛求生

线程 操作系统 进程 协程

极客大学·产品经理训练营·第四章作业(第五周)

二大爷

极客大学产品经理训练营

翻译:《实用的Python编程》02_04_Sequences

codists

Python 人工智能 面试 数据结构与算法 序列

面试中经常问到的动态代理到底是什么

废材姑娘

Java

圈子创业

张老蔫

28天写作

第十三周命题作业

cc

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