阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Apache Solr: 概览 Solr在信息系统架构中的位置

198次阅读
没有评论

共计 2176 个字符,预计需要花费 6 分钟才能阅读完成。

概述:

     Apache Solr 是一个用 JAVA 语言构建在 Apache Lucene 项目上的开源的企业级搜索平台。主要特性包含:全文搜索、命中高亮、片段式搜索、实时索引、动态集群、数据库集成、NoSQL 特性和富文本处理。提供分布式搜索和索引复制,设计时便充分考虑了扩展和容错能力。Solr 目前是第二流行的企业级搜索引擎,第一是 ElasticSearch。
     Solr 作为一个独立的全文本搜索服务器运行。在内部使用 JAVA 开发的 Lucene 完成全文本索引和查询,提供 RESTful API 完成对大多数编程语言的支持。灵活的外部配置使得可以不用编写任何的 JAVA 代码就能完成工作,同时还提供了插件式的架构来支持更为高级的用户定制。
     既然这么强大,那它在我们的整体平台中处于一个什么样的位置?

定位:

     下图来自于官方手册的一个例子。
Apache Solr: 概览 Solr 在信息系统架构中的位置
上图中,Solr 运行在其他的服务器应用程序之外。拿仓库平台系统来说,我们要提供一些用户界面:例如,可以发起入库的界面,可以查看库存的界面,可以发起出库的界面,作为库管,可能还需要对不正确的物资信息进行调整。无论入库、出库、查看库存等哪个功能,都是围绕着物资展开的。这些信息会同时存在于平台系统的数据库中和 Solr 系统中,只不过可能会因为存放在不同系统中所要达到的目的和用处不一样,信息的格式和完整度也会有(或没有)差异。

     因为有了 Solr,我们在仓储平台中提升搜索体验也变得更加容易。只需通过如下步骤:
     1、定义 Schema。Schema 告知 Solr 将要建立索引的文件内容。以仓储平台为例,Schema 中可能需要为物资名称、编码、库存量、生产厂商等定义字段。Solr 的 Schema 强大而有弹性,并且允许你为你的应用系统定义特有的 Solr 行为。
     2、发布 Solr。
     3、为用户将要检索进行的检索提供 Solr 文件。
     4、在应用程序里实现检索功能。
     Solr 建立在开发标准之上,因此具有很高的可扩展性。Solr 的查询基于 RESTful,也就是说,一个查询的本质就是一个简单的 HTTP 请求 URL 和一个结构化的响应文档。响应文档的结构主要包含:XML、JSON、CSV,还有其他格式。这也意味着,大量的客户应用程序可以使用 Solr,比如 WEB 应用、富客户端应用和移动设备。任何支持 HTTP 协议的平台都能和 Solr 进行交互。
     Solr 基于 Apache Lucene 项目,一个高性能、全特性的搜索引擎。Solr 支持简单的关键字查询,复杂的多字段查询,以及将结果分片段。
 

扩展性:

     如果单个 Solr 的能力不够可观,那么它处理非常大量应用程序的能力将能达到理想效果。
     比较常见的场景是:你有大量的数据或者很多的查询,一个单一的 Solr 服务器无法处理所有的工作负荷。在这种情况下,可以使用 SolrCloud 来扩展 Solr 的能力,使得其在多台服务器间能获得更好的分发数据、处理请求的能力。基于你需要获得的扩展能力,大量不同的配置选项需要组合使用。
     例如:分片就是一种扩展方式,它把一个大的集合划分成多个称为 ” 分片 ” 的逻辑块,从而提高一个集合中的文档数量使超过一个单一 Solr 服务器所允许的物理限度。进入系统的查询会被分发到集合里的每一个分片,然后返回合并的结果。另一种可用的技术是提升集合的“复制因子”,它允许你使用集合的副本添加额外的服务器,通过在多台机器之间传播高并发的查询命令来完成工作。分片和复制并非互不相容的,组合使用能使 Solr 变成一个更加强大和可扩展的平台。

更多 Solr 相关教程见以下内容

Solr3.6.1 在 Tomcat6 下的环境搭建 http://www.linuxidc.com/Linux/2013-01/77664.htm

基于 Tomcat 的 Solr3.5 集群部署 http://www.linuxidc.com/Linux/2012-12/75297.htm

在 Linux 上使用 Nginx 为 Solr 集群做负载均衡 http://www.linuxidc.com/Linux/2012-12/75257.htm

Linux 下安装使用 Solr http://www.linuxidc.com/Linux/2012-10/72029.htm

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm

Solr 实现 Low Level 查询解析(QParser)http://www.linuxidc.com/Linux/2012-05/59755.htm

基于 Solr 3.5 搭建搜索服务器 http://www.linuxidc.com/Linux/2012-05/59743.htm

Solr 3.5 开发应用教程 PDF 高清版 http://www.linuxidc.com/Linux/2013-10/91048.htm

Solr 4.0 部署实例教程 http://www.linuxidc.com/Linux/2013-10/91041.htm

Solr 的详细介绍:请点这里
Solr 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138526.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2176字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中