快速预览

尝过了Solr的趣味之后,你将学习它可以做的很酷的事情.

Solr在整个应用中是如何与其它部分协作的:

integrate

上图中, Solr 与其它服务应用隔离运行.比如,一个在线商城应用,应该有用户界面,购物车,和用户购买商品的途径,同时库存管理程序运行店员编辑商品信息.该商品的元数据将保存到数据库.

Solr的可以很容易地通过以下步骤添加在线商店搜索功能:

  1. 定义schema.
  2. 服务器上部署Solr.
  3. 把用户可搜索商品数据输入给Solr.
  4. 在应用中暴露一个搜索方法.

Solr基于开发标准,它具有高度可扩展性.Solr查询具有RESTful特性,本质上,它的请求是简单的http url请求,响应是结构化文档:主要为XML格式,不过它同时提供JSON,CSV,以及其它格式.也就是说各式各样的客户端都可以方便使用Solr,比如浏览器web应用,富连接应用,手机硬件等。任何支持HTTP的平台都可以和Solr协作。阅读Client APIs了解更多客户端APIs.

Solr基于Apache Lucene项目,Lucene是一款高性能,多功能的搜索引擎。Solr提供多字段和分类下的简单关键字的包含跟多信息的复杂查询结果。

假如Solr的性能不能让人感到惊人,那么它能支撑庞大数据的应用就只是把戏。

一种比较常见的情况是,你有很大的数据量,或者大量查询需求,单个Solr的服务器无法处理您的整个工作量。在这种情况下,您可以使用扩展应用程序的能力SolrCloud更好地分配数据,以及请求的处理,在许多服务器。多中选择可以根据您的可扩展需求类型进行混合和搭配。

例如:“Sharding(分片)”是缩放技术,其中collection(集合),以扩展的文件数集合中分割成多个逻辑片段被称为“shards(片段)”因为超出了单个服务器的处理能力。传入查询被分配给集合中的每一个分片,然后将各个分片的结果合并作出响应。可用另一种增加副本的方法,让你与你的副本蔓延请求到多台计算机来处理高并发查询负载的额外副本添加服务器的“复制因子”。分片和复制并不是相互排斥的,它们可以共同作出一个非常强大的,可扩展的Solr服务平台。

最重要的是,这种谈大批量应用不只是假设:一些使用Solr的著名的互联网网站有Macy's,eBay和Zappo。

有关详细信息,看一看https://wiki.apache.org/solr/PublicServers

results matching ""

    No results matching ""