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

solr分布式索引

    博客分类:
  • solr
阅读更多
1、分发
这个功能是已经配置在query request handler里面的。因此你无需做额外的配置,如果你想在多个shards上面进行查询,那么你只需要在url跟相关的参数即可:
Eg: http://localhost:8080/solr1/select?shards=localhost:8080/solr1,localhost:8080/solr2&q=*php*

2、SOLR复制模式
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。

以下讲解具体操作步骤:

     步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。

主服务器:
      在solrConfig.xml中,找到以下行:

    <requestHandler name="/replication" class="solr.ReplicationHandler" > 
        <lst name="master"> 
            <str name="replicateAfter">commit</str> 
     
            <str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str> 
            
            <str name="commitReserveDuration">00:05:00</str> 
            <str name="httpBasicAuthUser">123</str> 
            <str name="httpBasicAuthPassword">123</str> 
     
     
        </lst> 
    </requestHandler> 

说明:

    replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会执行复制策略。
    confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
    commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为5分钟。

从服务器

    <requestHandler name="/replication" class="solr.ReplicationHandler" > 
        <lst name="slave"> 
     
            <str name="masterUrl">http://localhost:port/solr/corename/replication</str>   
     
            <str name="pollInterval">00:05:00</str>   
             
            <str name="compression">internal</str> 
            
            <str name="httpConnTimeout">5000</str> 
            <str name="httpReadTimeout">10000</str> 
     
     
            <str name="httpBasicAuthUser">123</str> 
            <str name="httpBasicAuthPassword">123</str> 
     
         </lst> 
    </requestHandler> 

说明:

    masterUrl : 主服务器同步URL地址,“replication”是固定字符串,eg:http://localhost:8080/solr/core/replication
    pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
    httpConnTimeout:设置连接超时(单位:毫秒)
    httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
    httpBasicAuthUser:验证用户名,需要和主服务器一致
    httpBasicAuthPassword:验证密码,需和主服务器一致
    compression:external or internal 使用SOLR自己的压缩算法或应用容器的

    区别: 内部算法会大大提高同步成本,原话: USE THIS ONLY IF YOUR BANDWIDTH IS LOW . THIS CAN ACTUALLY SLOWDOWN REPLICATION IN A LAN。

    因此建议使用外部方式即: external .

    同时需要配置外部应用容器: 以TOMCAT为例:
    server.xml中
    <Connector compression="on"  
    compressableMimeType="text/html,text/xml,text/plain"  
    compressionMinSize="2048"/> 
分享到:
评论

相关推荐

    solr 分布式参考

    **一、Solr分布式架构** 1. **SolrCloud模式**: Solr的分布式特性主要体现在SolrCloud模式中,这是一个基于Zookeeper协调的集群解决方案。每个Solr实例被称为一个Solr节点,多个节点组成了SolrCloud。Zookeeper用于...

    基于Hadoop和HBase的分布式索引模型的研究.pdf

    该模型首先利用Solr分布式索引器生成索引文件。Solr作为一个开源的搜索服务器,基于Java开发,提供了分布式索引、搜索和高可用的集群功能。接着,利用Hadoop分布式集群进行数据处理和存储,Hadoop集群由多台计算机...

    Solr 学习笔记(五)-Solr扩展之分布式索引实例

    在本篇Solr学习笔记中,我们将探讨Solr的分布式索引功能,这对于处理大量数据和实现高可用性至关重要。Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这...

    solr 分布式部署

    Solr分布式部署的目标主要有两个: 1. **主辅服务器同步**:确保每当客户端对索引进行COMMIT操作时,更新能够及时地应用到辅助服务器上。这提供了高可用性和数据一致性,即使主服务器出现问题,辅助服务器也能无缝...

    分布式索引系统配置文件<设想一>

    常见的分布式索引系统有Elasticsearch、Hadoop HBase、Apache Solr等。这些系统通常采用分片(Sharding)和副本(Replicas)策略来确保数据的可用性和高并发性能。 配置文件是任何复杂系统的核心部分,它定义了系统...

    应用分布式索引提高海量数据查询性能.pdf

    Solr是基于Lucene构建的一个开源的企业级搜索服务器,它支持分布式搜索并提供了一些额外的功能,如管理搜索索引,使得分布式索引更加易于实现和管理。 分布式索引层的关键技术包括分片(sharding)和B+树。分片是将...

    solr创建索引的原理及解析

    Solr支持分布式部署,并且提供了丰富的API接口,方便与其他系统集成。在Solr中,索引的构建与查询是非常核心的功能之一。 #### 二、Solr创建索引的过程 Solr的索引创建过程主要由`SolrDispatchFilter`处理。当接收...

    56 solrCloud分布式搜索与索引过程

    ### 56 solrCloud分布式搜索与索引过程 #### 知识点一:SolrCloud简介 在深入了解SolrCloud的分布式搜索与索引过程之前,我们需要对SolrCloud有一个基本的认识。SolrCloud是Apache Solr的一个扩展模块,它提供了一...

    大数据技术文件.docx

    三、Solr分布式索引 Solr是另一个开源搜索平台,特别适合构建分布式索引。通过Solr集群,可以实现跨服务器的索引构建和检索,提高查询效率。用户可以根据主题创建索引,获取更精确的搜索结果。同时,Solr还支持通过...

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

    Solr支持分布式部署,可以将索引分布在多台服务器上,实现水平扩展。通过Sharding和Replication,可以实现负载均衡和数据冗余,提高系统的可用性和性能。 8. **优化与调优**: 在实际应用中,我们需要不断优化索引...

    大数据技术文档.docx

    3. **Solr分布式索引**: - Solr是一个基于Lucene的全文检索服务器,通过分布式索引实现跨服务器的信息交换。它能够在多台机器上并行执行索引任务,加速检索过程。用户可以根据特定主题进行索引,从而提高查询效率...

    使用MySQL作为SOLR的索引源

    SOLR利用倒排索引技术,能实现毫秒级的全文搜索,且支持分布式部署,适合大数据量的场景。 将MySQL作为SOLR的索引源,首先需要配置数据源连接。在SOLR中,这通常通过DataImportHandler (DIH) 实现,这是一个内建的...

    基于Solr的分布式铁路科技资源整合与检索实践.pdf

    Solr是一个高性能的搜索服务器,它基于Apache Lucene构建,提供了分布式索引、搜索、排名等功能,广泛应用于企业级搜索解决方案中。文中提到,为了解决铁路科技信用与能力评价中面临的问题,如科研活动信息分散、...

    基于Solr的分布式全文检索系统的研究与实现.pdf

    Solr能够通过其索引处理模块,在多台计算机节点上并行创建索引,显著提升了索引的构建速度,这对于分布式全文检索系统至关重要。 分布式设计是提高系统检索性能的关键所在。本文提出了使用Zookeeper来管理集群的...

    Solr全文索引

    Solr全文索引是基于Apache Lucene的开源搜索服务器,它提供了一个分布式、可扩展、高性能的全文检索和分析平台。在本项目中,"Weiz.Solr"似乎是一个C#开发的Solr客户端库,用于简化与Solr服务器的交互。下面将详细...

    ZooKeeper实例 + Solr(tomcat)集群部署

    ZooKeeper作为分布式协调服务,提供了高可用性以及一致性保证,而Solr则是一款高性能、可扩展的全文搜索引擎。将二者结合,可以构建出一个稳定、高效的企业级搜索解决方案。本文旨在详细介绍如何在两台CentOS 6.3 x...

    高性能分布式搜索引擎Solr的研究与实现.pdf

    在Solr分布式搜索引擎架构中,Zookeeper可以管理集群的状态,协调不同节点的工作,保持索引的一致性和同步。 Mongodb是一个高性能的NoSQL数据库,它支持分布式文件存储。在本文中,SolrCloud(Solr的分布式实现)与...

    HBase分布式二级索引通用方案研究.pdf

    SolrCloud是一个基于Solr的分布式搜索解决方案,它在内部实现了分布式索引机制,可以实现对HBase中数据的高效搜索。在文章提到的方案中,SolrCloud不仅作为一个分布式索引器,用于创建和存储索引,还负责处理多条件...

    基于Solr4.9.0的搜索系统:包括Solr索引建立、Solr索引查询DUBBO接口等内容。.zip

    《基于Solr4.9.0的搜索系统:探索索引构建与查询接口》 在当前的信息化时代,搜索引擎已经成为互联网应用不可或缺的一部分。本项目基于Apache Solr 4.9.0版本,构建了一个功能完善的搜索系统,结合了SpringBoot、...

Global site tag (gtag.js) - Google Analytics