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

概述:

Apache Solr是一个用JAVA语言构建在Apache Lucene项目上的开源的企业级搜索平台。主要特性包含:全文搜索、命中高亮、片段式搜索、实时索引、动态集群、数据库集成、NoSQL特性和富文本处理。提供分布式搜索和索引复制,设计时便充分考虑了扩展和容错能力。Solr目前是第二流行的企业级搜索引擎,第一是ElasticSearch。

Solr作为一个独立的全文本搜索服务器运行。在内部使用JAVA开发的Lucene完成全文本索引和查询,提供RESTful API完成对大多数编程语言的支持。灵活的外部配置使得可以不用编写任何的JAVA代码就能完成工作,同时还提供了插件式的架构来支持更为高级的用户定制。

既然这么强大,那它在我们的整体平台中处于一个什么样的位置?

定位:

下图来自于官方手册的一个例子。

  上图中,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变成一个更加强大和可扩展的平台。

时间: 2024-11-05 17:21:30

02 Apache Solr: 概览 Solr在信息系统架构中的位置的相关文章

windows 下tomact,jdk solr 搭建solr

工具: jdk8.0(solr6.1.0必须装jdk8.0,开始装的7.0最后卸了)下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html solr6.1.0 http://www.apache.org/dyn/closer.lua/lucene/solr/6.1.0 tomact (我下的8.5)http://tomcat.apache.org/ 步骤: 1.先安装jdk,保证在cmd

【solr】 solr 5.4.1 和tomcat 基础环境搭建

下载省略; solr下载地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/ tomcat 下载安装(省略). solr5.4.1 默认在jetty下启动.直接进入solr bin目录下,solr start 即可启动solr. 当然tomcat平时用的比较多,就集成solr到tomcat中. 首先将solr-webapp下的目录复制到tomcat下webapps中重命名为solr. 修改solr\webapp\WEB-INF\web.xml内

转载自lanceyan: 一致性hash和solr千万级数据分布式搜索引擎中的应用

一致性hash和solr千万级数据分布式搜索引擎中的应用 互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库.在这样严峻的条件下,一批又一批的创业者从创业中获得成功,这个和当前的开源技术.海量数据架构有着必不可分的关系.比如我们使用mysql.nginx等开源软件,通过架构和低成本服务器也可以搭建千万级用户访问量的系统.新浪微博.淘宝网.腾讯等大型互联网公司都使用了很多开源免费系统搭建了他们的平台.所以,用什么没关系,只要能够在合理的情况下采用合理的解决方

Solr的配置和在java中的使用

Solr是一个全局站内搜索引擎,可以快速的搜索出结果. Solr依赖于tomcat,把Solr的war包放到tomcat中即可运行. 使用solr,需要在solr的schema.xml中配置solr与java的映射关系,便于存放数据,在schema.xml中配置如下关系. <fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyze

APACHE KYLIN? 概览

APACHE KYLIN™ 概览 Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区.它能在亚秒内查询巨大的Hive表. KYLIN是什么? - 可扩展超快OLAP引擎:  Kylin是为减少在Hadoop上百亿规模数据查询延迟而设计 - Hadoop ANSI SQL 接口:  Kylin为Hadoop提供标准SQL支持大部分查询功能 - 交互式查询能力:  通过

Solr入门-Solr服务安装(windows系统)

安装Solr 首先保证已经正确安装了Java 下载Solr,当前最新版6.1.0 Solr各个版本下载地址 Solr从6.0之后需要Java1.8所以如果使用Solr6.0及其以上版本,请确保Java版本在1.8之上 将Solr下载之后解压在电脑的某个目录,我解压到了D盘根目录下 启动Solr 启动Solr(windws版,以下都是windows下的) 进入solr的解压目录 cd bin solr.cmd start Solr启动成功! 管理控制台地址为 http://localhost:89

Solr 17 - Solr的时间为什么比本地少8小时(附修改方法)

目录 1 为什么少8小时 2 如何查看Solr的时区 3 修改Solr的时区 3.1 Solr从数据库中同步数据的原理 3.2 为什么要修改时区 3.3 如何修改时区 1 为什么少8小时 (1) 原因: Solr服务中默认使用的是UTC时间, 而中国本地时间为东八时区, 即比UTC标准时间多8小时. (2) 示例: ① 中国内地服务器时间为2018-10-10 20:00:00, 系统将当前时间添加到Solr索引中时, Solr底层发现此时间的格式为UTC + 8, 它将对该时间减去8小时处理,

Zookeeper在分布式架构中的应用

Zookeeper 是一个高性能.高可靠的分布式协调系统,是 Google Chubby 的一个开源实现.Zookeeper 能够为分布式应用提供一致性服务,提供的功能包括:配置维护.域名服务.分布式同步.组服务等.它以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer.

Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析

Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析 说明:Java生鲜电商平台中,由于服务进行了拆分,很多的业务服务导致了请求的网络延迟与性能消耗,对应的这些问题,我们应该如何进行网络请求的优化与处理呢? 到底有没有一些好的建议与方案呢? 下面这个文章将揭晓上面的问题,让你对SpringCloud微服务网络请求性能有一个全新的认识. 目录简介 01.网络请求异常分类 02.开发中注意问题 03.原始的处理方式 04.如何减少代码耦合性 05.异常统一处理步骤 06