“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

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

关注

评论

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

阿里腾讯微软拥抱低代码,程序员们要“失业”?

Java 程序员 后端

阿里大牛看了也要膜拜的大话代码架构(项目实战版)终于出来了

Java 程序员 后端

助力数字孪生,TDengine在叁零肆零仿真平台中的实践

TDengine

数据库 tdengine 后端

35w奖金池,腾讯云TDSQL精英挑战赛正式开赛!

科技热闻

这几个动态规划的问题,面试官就爱问

华为云开发者联盟

数组 动态规划 序列 子数组 公共子串

阿里二面被问16道 volatile 问题,玩命补充jvm、多线程、高并发

Java 程序员 后端

技术为本,中科柏诚致力于打造高效供应链金融平台

联营汇聚

阿里内部绝密Java面试笔记(珠峰版),冒着被开的风险免费分享

Java 程序员 后端

阿里员工感慨:码农们过去暴富有多轻松,现在赚钱就有多辛苦!

Java 程序员 后端

阿里技术官亲手总结Part 10个知识点!主动分享!收藏必备!

Java 程序员 后端

阿里架构师剖析程序运行原理,程序是如何运行又是如何崩溃的?

Java 程序员 后端

阿里面试官整理出面试必问:java面试核心知识原理+框架笔记

Java 程序员 后端

Flink CDC 实时数据同步详细解析

五分钟学大数据

flink 11月日更

阿里面试官:就说最后一遍,有关Spring这13点我们必问!

Java 程序员 后端

一周信创舆情观察(11.1~11.7)

统小信uos

阿里又一个“逆天”容器框架!这本Kubernetes进阶手册简直太全了

Java 程序员 后端

阿里老人吐槽:新人水平差不服管不加班!汇报经理让他无法转正

Java 程序员 后端

阿里面试官:你好,谈谈对Synchronized的理解?(一

Java 程序员 后端

阿里三面:CAP和BASE理论了解么?可以结合实际案例说下?

Java 程序员 后端

阿里五面(4轮技术+HR)成功逆袭,面经分享

Java 程序员 后端

阿里大师推荐的这份Java开发必读书单,让我成功在寒冬中站稳脚步

Java 程序员 后端

阿里巴巴蚂蚁金服Java面试经历包含答案解析

Java 程序员 后端

阿里技术3面+HR面,奋战两个月,终斩获offer定级阿里P6+

Java 程序员 后端

阿里技术总监纯手打的内部手册《MySQL笔记》真是太硬核了

Java 程序员 后端

阿里程序员:入职才两个月,我决定离职

Java 程序员 后端

阿里老人吐槽:新人水平差不服管不加班!汇报经理让他无法转正(1)

Java 程序员 后端

阿里蚂蚁金服超全126道面试题,都会的话,你也能去面阿里了

Java 程序员 后端

阿里亿级长连网关的云原生演进之路

Java 程序员 后端

阿里内部疯传的分布式架构手册,轻松吊打小日子过的不错的面试官

Java 程序员 后端

阿里巴巴内部涨薪必备的“王者级Dubbo实战笔记”,不啃透不下班

Java 程序员 后端

阿里面试官:HashMap 为什么是线程不安全的?

Java 程序员 后端

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