前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Solr:不止于文字

Solr:不止于文字

作者头像
花落花飞去
修改2017-12-21 14:12:59
1.3K0
修改2017-12-21 14:12:59
举报
文章被收录于专栏:大数据大数据

本译文自 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作为实时分析引擎,同时继续支持已安装的基础,为此,他们值得我们的钦佩。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档