Solr:不止于文字

本译文自 Moshe Kranchttps://dzone.com发表的 Solr: Not Just For Text Anymore,文中版权、图像代码等数据均归作者所有。为了本土化,翻译内容略作修改。

Solr于2004年首次创建时,打算成为OpenSource文本搜索引擎,为企业网站和内部文档搜索等用途提供类似Google的搜索功能。 基于Lucene搜索库,Solr添加了一个客户端 - 服务器体系结构,一个RESTful API以及用于文本查询的一些语法块。

快进到2016年,Solr已经从企业搜索引擎或穷人的Google发展成为实时大数据分析的可行选择,与Redshift,Spark和Presto等产品展开竞争。 蜕变是渐进的,所以你可能已经错过了。 这儿是一些精彩片段:

  • 支持非文本字段:早期,Solr引入了定义非文本字段(如数字和日期)的功能。为什么这在文本搜索引擎中很有用?例如,除了描述电影标题的文本字段之外,还可能需要定义电影的发行年份。然后用户可以搜索在2005年到2008年之间制作的所有电影,其标题包括“战斗”一词。
  • 分面搜索:这是将搜索结果动态聚类到类别中,以便用户可以根据字段中的任何值深入搜索结果。例如,假设可用作业的数据库包含“城市”字段和“位置”字段。然后,用户可以搜索所有软件工程师职位,并查看每个城市有多少个开放的软件工程师职位。或者,用户可以搜索波士顿的所有职位,并查看波士顿每种职位的打开情况。 (注意,faceting实际上是一种高速聚合形式,即计算给定字段的所有值的实例数量,而不需要预聚合。)
  • 高可用性和可扩展性:2012年发布的SolrCloud提供了Solr节点的集群。数据在集群中的节点之间自动分割并复制,查询自动分布在整个集群中,并自动执行节点故障切换。通过SolrCloud,Solr成为了可以信任任务关键型数据和操作的行业优势产品。
  • 性能改进:在早期,向Solr添加新数据需要重建整个索引。这使得Solr成为一个非常静态的产品 - 索引重建计划在下班时间进行,在此之前没有新的数据可以搜索。后来的版本通过内存索引实现了即时更新,补充了主要的基于磁盘的索引。 Solr还添加了多层缓存,以便经常重复的查询(或部分查询)不需要重新运行。
  • SQL支持:Solr查询语言与SQL相似,但不是SQL,因此它不适用于SQL兼容工具,例如Tableau等分析可视化工具。最近的Solr版本增加了对SQL的支持以及JDBC驱动程序。现在,Solr可以用作任何关系数据库的替代品。
  • 非结构化数据的无模式支持:Solr需要知道给定字段的类型才能正确索引(索引文本与索引数字非常不同)。对于关系表而言,这是很好的,所有列都是事先知道的。但是,在NOSQL的世界里,事先并不知道列,数据是一组任意的键值对,Solr怎么知道字段类型呢? Solr想出了一个基于用户定义的命名约定的解决方案,例如,如果字段名称以“t_”开头,那么它是一个文本字段。得益于此,Solr可以支持NOSQL非结构化数据。
  • 彭博分析组件Solr:彭博金融服务公司广泛使用Solr,发现现有的统计软件包非常缺乏。因此,他们开发了一个高性能的框架,可以对时间序列数据执行复杂的计算和聚合,然后将其发布到OpenSource。

今天,Solr不仅仅是用于文本搜索。它是一个高速,高可用性的SQL / NOSQL数据库,可以实时执行聚合和其他复杂的计算。这不仅仅是理论 - Ness的客户在生产中使用Solr来为数百个同时在线的用户提供实时聚合和时间序列分析。 Solr已经发展到不仅仅是文本索引引擎的地步。对Spark和Amazon Redshift等其他产品来说,这是一个可行的替代方案,可以对大数据进行实时聚合。

结语:Solr有一个名叫ElasticSearch的年轻竞争对手,它也是基于Lucene。这两种产品在功能上相互竞争,一种产品的新特性正在迅速渗透到另一种产品中。我不打算在这个竞赛中占据一席之地 - 在这里写的关于Solr的所有内容在ElasticSearch中也是如此。但是,由于Solr在过去十二年中所经历的蜕变,Solr的故事更加引人注目。正如这个笑话所说,G-d只能在6天内创造这个世界,因为他不需要支持一个已经安装的基地。 Solr团队不得不重新创建Solr作为实时分析引擎,同时继续支持已安装的基础,为此,他们值得我们的钦佩。

原文链接:https://dzone.com/articles/solr-not-just-for-text-anymore

原文作者:Moshe Kranc

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

TW洞见 | NoSQL数据库概览

关注“思特沃克ThoughtWorks”微信公众号,输入“洞见”或者“Insights”可以查看最新发布的洞见文章。 过去的五年,数据存储和管理领域一直出于混乱...

3304
来自专栏大魏分享(微信公众号:david-share)

实战:构建一个车险业务的规则引擎(上篇)

1243
来自专栏信安之路

APT 攻击链及事件响应策略

首先我们来思考一个问题,APT攻击事件和传统的网络攻击有什么明显区别呢?我相信,很多安全的小伙伴都会说,相比于传统的安全攻击事件来说,APT攻击事件更持久,更有...

563
来自专栏Albert陈凯

2018-08-06 数据权限管理权限管理的目标是什么?安全与便利的矛盾,有解么?总结常见开源方案基于开发平台服务入口的权限管控思路

https://blog.csdn.net/colorant/article/details/78672404

562
来自专栏CSDN技术头条

大规模数据集成: Linked Data

在本系列的前两篇文章(“ 使用 RDF 创建数据网络 ” 和 “ 使用 SPARQL 查询 RDF 数据 ”)中,您了解了资源描述框架和 SPARQL 协议和 ...

1908
来自专栏安智客

我们一起来学习CC认证之GP TEE PP保护轮廓(一)

前面介绍过CC认证相关,请查看: 跟我来了解CC认证!(全球最顶级的产品安全认证标准) PP,也就是protect profile。 所谓安全保护轮廓(PP),...

20910
来自专栏CSDN技术头条

eBay开源新数据库技术Kylin,支持TB到PB级数据量

【编者按】eBay开源了一种名为 Kylin 的数据库技术,eBay在周三的一篇博客上分享了Kylin 的诸多细节,基于 Hadoop 提供 SQL 接口和 O...

2006
来自专栏FreeBuf

企业安全建设之路 | 端口扫描(上)

0×00、业务需求 由于工作关系,最近一年来都奔走在各大安全会议,无论是公开会议,例如:ISC互联网大会、freebuf互联网大会等、还是半公开的会议,例如某S...

2105
来自专栏SAP最佳业务实践

从SAP最佳业务实践看企业管理(48)-SD-外贸出口

个段子: 他们腰缠万贯,他们挥金如土,他们走到哪里,房价就涨到那里,他们是温州人?错,他们是深圳人。 来了就是深圳人,显示了这个新型移民城市的包容性,据说这个城...

2255
来自专栏AI启蒙研究院

耿大侠 Diss国外架构师文章《From CQS to CQRS》

593

扫码关注云+社区