`
luoluowushengmimi
  • 浏览: 7599 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

solr 基础架构

阅读更多
本节通过建一个基础应用来说明solr的主要核心模块,当然这个过程中我们也能够看出solr的特别之处和solr存在的意义。首先在说明solr是什么之前,我们先撇清一些概念---------solr既不是搜索引擎也不是搜索引擎优化。 上面的图片能够展示一部分solr的核心功能,solr可以童工强大的关键字搜索和一些复杂的高级搜索,另外solr还提供相应的拼写检查,自动匹配或者是建议,同义词处理,短语查询、文本分析工具来应对查询方面的需求多样性。另外solr提供了强大的地理空间查询,例如通过经纬度坐标来查找距离范围内的周围的房屋。另外强大的地理空间查询功能对于快速在地图上扩大和缩小等也是极为有用的。另外solr可以对查询的结果进行进一步的分类。 事实上,solr是在lucene的基础上发展起来的,而lucence的职责就是对文档构建索引并且搜索找出符合条件的文档的基础框架。 上图基本上能够给一个lucence工作原理的一个实例。上图也可以给出一个感性的关于数据库查询和lucene的不同之处,lucene返回的结果主要是通过了相关度排序而数据库返回的结果主要是通过了某一个列的排序。 lucene提供了一整套索引文档和执行查询的机制,它配置机制,通过配置决定什么字段被索引。然而lucene需要通过写java程序来定义索引字段和如何解析这些字段,然后solr在lucene基础上做了改善,用户只需要通过schema.xml文件来定义你的索引结构,solr负责将schema.xml文件进行翻译,然后转换成lucene索引。 另外solr在lucene基础上增加了一些不错的功能,例如说solr提供了一些动态域和一些复制域。 复制域:通过复制,就可以 把所有字段放在一起,这样搜索的时候就可以不用很复杂的查询组合就可以在所有字段中搜索。 动态域字段的定义没有在配置中找到,就在动态字段类型中进行查找。 通过上述的讲解,我们已经知道了solr提供了请打的索引文档、执行查询和结果排序,并且利用schema.xml我们可以灵活的定语所以结构。那么我们在web应用中如何能够快速使用呢?下面我们会详细介绍solr这个web 应用时怎么工作的且它是如何整合其他的技术例如xml json、http等。 为了更好的整合,solr核心的服务需要支持多语言,因此solr实际上支持了类似rest web service的方式,并且以标准的xml、json、http服务进行数据传输。这里所说的类似于rest web service是因为solr并没有完全严格的按照rest原则,例如你可以用POST方式删除document而不是用HTTP delete请求的方式去删除文档。 多数的程序员习惯于自己熟悉的语言去开发应用程序,还好solr支持的语言种类较多,其中包括了主流语言:python ruby java php。

  Multiple indexes in one server

  现在应用软件体系结构重要的一个特征是灵活性比较好,而solr也具备了次良好的特性。一个solr实例里面可以运行着多个索引和配置管理器等,因此我们需要共享服务器资源和管理任务(例如监控和维护任务)。solr多核支持的用途之一就是数据分区(按时间分片)solr多核支持的另一个用途就是支持多租户应用

  可扩展性和可伸缩性

   扩展性方面:solr有3大业务子系统:文档管理系统、查询处理系统和文本分析系统,且三个子系统都高度抽象。每一个系统都是一个管道模块,
每个模块像插件一样可以替换。

   可伸缩性:最开始solr提供了一个灵活的cache 管理以减少重复计算的开销,另外查询吞吐量,为了获得高的查询吞吐量,我们需要对每一个索引建立多个副本。另外一个索引文档的数量,为了索引更多的文档,需要将索引进行切片。


  但是值得注意的是solrCloud不能搭建在云计算环境,例如说:Amazon EC2


        
  • 大小: 138.5 KB
  • 大小: 82.1 KB
  • 大小: 94.9 KB
分享到:
评论
1 楼 louis_bond 2017-02-28  
请问“但是值得注意的是solrCloud不能搭建在云计算环境,例如说:Amazon EC2 ”这个问题有具体的原因吗?

相关推荐

    Apache Solr 搜索架构分析外部设计篇PDF

    ### Apache Solr搜索架构分析——外部设计篇 #### 一、引言 随着互联网技术的飞速发展,数据量呈爆炸性增长,高效且准确地检索海量数据成为了现代信息技术领域的一项重要挑战。Apache Solr作为一款开源的企业级...

    java进阶Solr从基础到实战

    在本套课程中,我们将全面的讲解Solr,从Solr基础到Solr高级,再到项目实战,基本上涵盖了Solr中所有的知识点。 主讲内容 章节一:Solr基础(上) 1. 环境搭建 2. 核心讲解 3. 数据导入 4. 各种中文分析器 章节二:...

    solr基础知识介绍

    Apache Lucene是一个基于Java的全文搜索引擎库,它提供了一个强大的工具集用于索引和搜索文本。Lucene的核心功能包括为文件中的每个单词建立...整体上,这篇文档为读者提供了对Solr的基础知识和高级功能的深入理解。

    Apache Solr 架构分析内部设计篇PDF

    综上所述,Apache Solr的内部架构复杂且功能丰富,它以Lucene为基础,提供了一套易于使用且可扩展的搜索引擎框架。从源码角度分析,Solr具备一个清晰的MVC架构,支持通过插件进行功能扩展,并为开发者提供了强大的...

    Solr基础使用

    ### Solr基础使用知识点 #### 一、需求分析与实现方法 **1.1 需求** 在电商网站中,商品信息搜索是一项至关重要的功能。用户能够通过输入关键字、选择分类或设定价格范围来查找商品。此外,还支持按照价格进行排序...

    基于solr的网站索引架构(一)

    2. **索引架构基础**: 索引是Solr的核心,它是对原始数据进行预处理后的结构化表示,用于高效搜索。索引由文档集合构成,每个文档包含多个字段,每个字段都有特定的类型。Solr支持多字段索引,允许对不同类型的...

    solr4.3源代码一

    Solr在Lucene的基础上构建了一个完整的搜索平台,包含了如HTTP接口、XML/JSON响应格式、多文档类型支持、分布式搜索、缓存机制等高级特性。Solr的架构设计使其能够处理大量数据,支持水平扩展,并且提供了一套完整的...

    apache-solr-3.5.0.jar

    Solr 3.5.0版本虽然较旧,但其基础架构和原理对于理解Solr的工作方式仍然十分有价值。随着版本的更新,Solr引入了更多特性,如分布式搜索、实时添加和删除、以及更强大的分析和处理能力。如果你打算深入学习Solr,...

    solr深入浅出

    Solr的应用广泛,涵盖了从基础的全文搜索到复杂的业务逻辑集成。在应用过程中,需要根据业务模型设计合适的Schema,通过数据导入工具如DIH实现数据库数据的索引化,以及批量或单条索引操作。搜索功能的实现则依赖于...

    solr ssm java

    它提供了模型-视图-控制器架构,使得开发者能将业务逻辑、视图展示和用户交互分离开来,便于维护和测试。 **MyBatis**: MyBatis是一个持久层框架,它允许开发者编写SQL语句并与Java对象直接绑定。MyBatis消除了...

    solr教程+实例

    通过这个Solr教程,你可以深入了解Solr的原理和实践操作,无论是搭建基础的搜索服务,还是构建复杂的分布式搜索系统,都将有所帮助。同时,持续学习和掌握Solr的新特性和最佳实践,将使你更好地应对日益增长的搜索...

    Solr In Action 原版

    ZooKeeper是一个开源的分布式协调服务,它可以管理集群配置信息、提供分布式锁等服务,而SolrCloud是Solr的集群版,它基于ZooKeeper实现高可用、高扩展的分布式搜索架构。 在《Solr In Action》中,作者强调了Solr...

    solr教材-PDF版

    - **1.2.6 复制**:Solr支持主/从架构,通过复制功能可以在多个服务器间同步索引数据,确保数据的一致性和冗余。 - **1.2.7 管理接口**:Solr提供了一个直观的管理界面,可以方便地监控索引状态、执行查询、管理索引...

    solr7.5官方文档

    **快速概览**:这部分内容概述了 Solr 的核心概念和技术特点,包括其架构、索引机制、搜索算法等,有助于新用户快速了解 Solr 的工作原理。 **Solr 系统需求**:详细列出了 Solr 运行所需的硬件和软件环境,包括...

    solr-4-10.3.zip

    虽然在今天看来,这个版本可能已较为陈旧,但对于理解Solr的基础架构和工作原理,仍具有很高的学习价值。如果你打算深入学习Solr或者维护一个使用4.10.3的系统,这个压缩包将是一个很好的起点。

    solr-4.5源码包

    Solr-4.5.0是该系统的一个重要版本,它在之前的版本基础上进行了许多改进和优化,旨在提高搜索性能和稳定性。在这个源码包中,我们可以深入理解Solr的工作原理以及其核心组件的实现。 首先,让我们了解Solr的基本...

    solr4.6.0 源代码

    Solr有一个强大的插件架构,允许用户自定义请求处理器、查询解析器、过滤器等。`solr-plugin-init.xml`用于初始化插件,`PluginInfo`类描述了插件的信息。 9. **请求处理**: `RequestHandlers`处理来自客户端的...

    solr导航搜索工具+文档+配置代码

    这个压缩包提供的资源涵盖了Solr的基础知识、配置代码以及可能的教学指导,对于初学者或开发者来说,是一个宝贵的自学和实践材料。只要根据自己的需求,将其中的配置代码调整为自己实际的环境,即可快速启动和运行...

    solr讲解,案例分析

    在"solr讲解"中,我们首先会了解Solr的基本概念和架构。Solr的核心组件包括索引、查询解析器、排序、分面搜索和高亮显示等。索引是Solr的基础,它将数据转换为可搜索的结构。查询解析器则负责将用户的输入转化为Solr...

Global site tag (gtag.js) - Google Analytics