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

来源:互联网 发布:泽宇网络 编辑:程序博客网 时间:2024/04/29 15:16

原文

概述:

     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支持简单的关键字查询,复杂的多字段查询,以及将结果分片段。

0 0
原创粉丝点击