- 浏览: 257863 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
Solr Multicore 结合 Solr Distributed Searching 切分大索引来搜索
Solr Distributed Searching (分布式搜索) 是 solr 1.3 的特性。大索引,可能有多种原因要把它分成N个小的索引,可以把小索引放到其它的机器上,但是我没这么多机器怎么办呢?solr 1.3 有 multicore,恩,multicore 简单使用 可以看我那一篇文章。各个 core 各不干扰,可以独立做索引(做索引时,可以分散到各个core上)。 现来看下 Distributed Searching 的效果,打开:http://localhost:8080/solr-cores/core0/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on&shards=localhost:8080/solr-cores/core0,localhost:8080/solr-cores/core1 可以看到三条记录,core0 一条,core1 二条。 接着会有一个问题:原来很多程序调用 solr,用如 localhost:8080/solr-cores/select/?q=*%3A* 。又不想改原来的调用的代码,能不能做到透明呢,探索... 记得以前看 solr 文档时可以定义一些默认的查询参数,那 shards 参数也应该可以写在配置里。然后再 core0 的 solrconfig.xml 文件里的 standard request handler 里加入这参数,如: 马上运行下,但好长时间没有结果,CPU使用率很高,深思了下,.... 估计是死循环,因为solr解析shards后,调用shard时,是用默认的request handler。而其中一个shard又是core0(自身),那就等于不会结果的递归。所以这种方法不行。要避免死循环,就不要core0来做合并,可以找其它。于是我就加了一个tomcat实例如localhost:8080/solr来做代理(合并结果),结果成功运行。 想来想去,能不能不要另一个tomcat实例呢,直接就用一个 core,继续再探索... 。 我再开一个 core 就命名为 core,复制core0为core。把原来core0/solrconfig.xml的配置的shards去掉,然后在 solr1.3/example/multicore/solr.xml里加,如: 结果成功运行。其中,core0、core1是有数据的,而core是没数据的,core只是运行合并。问题虽然可以差强人意地解决。但是还有一个问题:原来的程序要调用solr,所有url不能改变,加了core是要改url 的,看源码时发现它可以为core名定义别名,就是用“,”号隔开。改为如下: "core,,"为什么是两个","号呢?。"core,"解析不出两个名,所有就无别名了。"core,,",解析出两个名,一是:"core,一是:"" 空串。有了空串就可以原来的url可以到达core(合并的core)。 至于死循环问题,同事在看源码,看是否不用多加一个额外的core来合并。结果他发现一个shard.qt的参数可以解决此问题,本质就是让所有的shard调用不用默认request handler,shard.qt可以做到这一点,使所有的shard调用都加qt参数。 现来改为最后的方案,在core0与core1的solrconfig.xml里加一个request handler如: 然后再core0的solrconfig.xml的默认request handler加shards参数,与shards.qt为shard(shard request handler),如: 然后在,solr.xml里的core(没数据的去掉),把core0加上空的别名,如: 当然也可以在core1里加相同的参数,这样core0与core1的功能是一样的,就是两个搜索的url都可以找到所有的数据,我认为:每个配置一样,在索引分到其它机器的时候比较有作用(如果这样,可以不用multicore的形式,即原始形式),在外面看不出是几个索引的,同时合并的任务也均匀一些。 Solr Distributed Searching 当然也会消耗,合并的core会向每个shard的core发送两次请求:第一次是找id;第二次是根据id再找文档。如果有N个shard,可以认为有2N+1次请求,1是作合并的请求,其中2N的请求(发每个shard发送的)是用二进制协议通信,性能比xml协议好。
发表评论
-
提高nutch爬取效率
2012-06-08 12:47 943提高nutch爬取效率 分类 ... -
CommonsHttpSolrServer
2012-03-28 09:31 2082CommonsHttpSolrServer ... -
利用SOLR搭建企业搜索平台 之十(数据库数据导入到solr)
2012-03-28 09:31 744利用SOLR搭建企业搜索平台 之十(数据库数据导 ... -
利用SOLR搭建企业搜索平台 之九(solr的查询语法)
2012-03-28 09:31 837利用SOLR搭建企业搜索平台 之九(solr的查 ... -
利用SOLR搭建企业搜索平台 之八(solr 实现去掉重复的搜索结果,打SOLR-236_collapsing.patch补丁)
2012-03-28 09:31 980引用Bory.Chanhttp://blog.chenlb.c ... -
利用SOLR搭建企业搜索平台 之五(solrj)
2012-03-27 14:59 859利用SOLR搭建企业搜索平台 之五(solrj) ... -
Solr solrconfig.xml的翻译
2012-03-13 08:23 896Solr solrconfig.xml的翻译 ... -
使用Apache Solr对数据库建立索引
2012-03-13 08:23 861使用Apache Solr对数据库建立索引 ( ... -
解决DataImportHandler从数据库导入大量数据而内存溢出的问题
2012-03-13 08:23 931解决DataImportHandler从数据库导入大 ... -
Solr 创建索引的原理 源码分析
2012-03-13 08:24 1160Solr 创建索引的原理 源码分析 (2011 ... -
Solr Replication (复制) 索引和文件的工作机制
2012-03-13 08:24 811Solr Replication (复制) 索引和文 ... -
Solr 查询中fq参数的解析原理
2012-03-14 08:13 820Solr 查询中fq参数的解析原理 (2011- ... -
Solr 分词器(analyzer)是怎么传到Luence的
2012-03-14 08:13 1091Solr 分词器(analyzer)是怎么传到Lue ... -
SOLR的分布式部署
2012-03-14 08:14 1032转载:http://blog.sina.com.cn/s/bl ... -
Solr 删除数据的几种方式
2012-02-22 08:40 1005转载:Solr 删除数据的几种方式 发表于:2010 ... -
Solr Data Import 快速入门
2012-02-26 12:12 829转载:Solr Data Import 快速入门 发 ... -
使用 solr php 的输出
2012-02-22 08:41 850转载:使用 solr php 的输出 发表于:200 ... -
Solr Multicore 试用小记
2012-02-26 12:13 752Solr Multicore 试用小记 转载: ... -
Solr1.4.0源码分析二 Solr分布式搜索中URL的正确用法和原理
2012-02-26 12:13 985Solr1.4.0源码分析二 Solr分布式搜索 ... -
lucene应用
2012-02-19 13:24 709转载:http://sacredlove.itey ...
相关推荐
"Solr Multicore 结合 Solr Distributed Searching 切分大索引来搜索 - Bory_Chan.mht"讲述了Solr的多核(Multicore)特性和分布式搜索功能。多核允许在一个Solr实例上管理多个独立的索引,而分布式搜索则能处理大...
Solr的Multicore配置是针对大型和复杂搜索应用的一种解决方案,它允许在一个Solr实例中管理多个独立的核心(core),每个核心对应一个独立的索引和配置。这种配置方式有助于实现更好的资源管理和扩展性,尤其适用于...
资源名称:相关性搜索 利用Solr与Elasticsearch创建智能...从这《相关性搜索:利用Solr与Elasticsearch创建智能应用》中你可学会如何结合各种外部数据源、 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
ES(ElasticSearch)和Solr都是基于Lucene的搜索引擎,它们各自提供了一套搜索框架,用于实现高效的全文搜索功能。由于两者都是在Apache License 2下开源的,因此在选择使用哪种搜索方案时,需要根据不同的使用场景...
Solr搜索自动补全是现代电商网站常见的一项功能,它能够显著提升用户体验。当用户在搜索框输入关键词时,系统会根据输入的文字,实时展示一个下拉列表,该列表包含用户可能想要搜索的查询项。这不仅可以引导用户更快...
Solr实现电扇站内搜索Solr实现电扇站内搜索Solr实现电扇站内搜索Solr实现电扇站内搜索
Solr是Apache Lucene项目的一个子项目,是一个高性能、基于Java的企业级全文搜索引擎。在电商领域,Solr常被用于构建商品搜索系统,提供高效、精准的搜索体验。本篇文章将详细阐述如何利用Solr实现京东搜索的功能。 ...
Solr 7.5 搜索框架是Apache Lucene项目下的一个高性能、全文检索服务应用,被广泛应用于企业级搜索引擎建设。它提供了分布式、可扩展、热插拔的搜索能力,支持多种数据源,并且易于管理和配置。Solr 7.5 版本在前一...
Solr,全称为Apache Solr,是一款开源的企业级全文搜索引擎,由Java编写,它提供了高效、可扩展的搜索和分析功能。在这个“solr导航搜索工具+文档+配置代码”压缩包中,包含了Solr的相关资源,可以帮助我们快速理解...
综合以上,学习者可以通过阅读文档、运行实例、查看源码和利用Luke工具来理解Solr与Java的交互方式,掌握如何在Java项目中构建、管理和优化Solr搜索服务。对于Java开发者来说,这是一套非常实用的学习资源,涵盖了从...
### Solr搜索服务器安装配置详解 #### 一、Solr简介 Apache Solr是一款开源的高性能全文搜索引擎,基于Lucene库构建。它采用Java开发,提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索功能到...
- **Distributed Search**:Solr 支持分布式搜索,可以在多个节点上分布索引,实现负载均衡和故障恢复。 - **Clustering**:对搜索结果进行聚类,帮助用户发现相关的主题或类别。 - **Filtering**:提供过滤器...
【SOLR搭建企业搜索平台】 SOLR(Apache Solr)是一款开源的企业级全文搜索引擎,基于Lucene库,提供高效、可扩展的搜索和分析功能。本文将详细阐述如何利用SOLR搭建一个企业搜索平台,包括所需环境、配置步骤以及...
总的来说,Solr为企业提供了全面的搜索解决方案,通过结合合适的中文分词器,可以有效处理中文数据,满足各种复杂搜索需求。无论是初学者还是资深开发者,掌握Solr的基本操作和高级特性,都是提升企业数据检索能力的...
本项目结合Spring Data Solr和Solr 7.7,提供了一种高效的搜索解决方案。下面将详细讲解相关知识点。 1. **Spring框架**:Spring是Java领域广泛应用的轻量级容器框架,它提供了依赖注入(DI)和面向切面编程(AOP)...
Solr支持多种数据源,如XML、JSON、CSV等,且可扩展性强,适用于构建大规模的分布式搜索系统。 二、Solr架构 Solr的核心架构包括索引、查询和结果返回三部分。索引阶段,Solr将数据转换为倒排索引,便于快速匹配...
在Solr 6.2.0版本中,这个强大的分布式搜索引擎引入了许多新特性和改进,使其在处理大规模数据搜索时更加高效。 一、Solr的架构与工作原理 Solr的核心架构包括客户端API、Solr服务器和索引库。客户端通过HTTP或...
综上所述,这个项目涵盖了从图片上传下载的完整流程到集成Solr搜索引擎进行高效搜索的一系列技术。通过这些技术,不仅可以实现快速查找图片,还能提供丰富的搜索体验,如分词搜索和高亮显示,这对于大型图片库的管理...