http://www.jianshu.com/p/f0b1cda72341
1. Collection别名
简单理解,Collection 的别名是在solrColud云上的Collection做的又一层包装,可以用一个别名的Collection对应后台多个实际的Collection。
优点:
1、可以将实际的Collection和客户端程序分离开来,如果实际的collection改名了,只需要更改别名即可,不需要更改客户端程序。
2、可以简化跨越多个collection查询操作,一个别名Collection可以对应一个或多个后台实际的Collection。
用处:
举个例子:
假设我们需要保存一年的一个叫solr应用程序的日志,我们前台需要完成,除当月外前几个月日志搜索和当月日志搜索。
可以这样设计,一个月数据保存在一个Collection上,建立一个别名假设叫CollectionOld指向除当月外其他的月的Collection,
每当新建一个Collection的时候,我们就默默的更改别名多指向一个月的Collection;
新建另外一个叫CollectionNow的Collection指向当月的Collection,每次新建一个的时候就调整这两个匿名的Collection即可。
1、先用如下命令创建一个CollectionOld
/admin/collections?action=CREATEALIAS&name=CollectionOld&collections=solrCollection_201601,solrCollection_201602,solrCollection_201603
到了四月份新建一个solrCollection_201604
2、 新建一个Collection后执行命令:
1) /admin/collections?action=DELETEALIAS&name=CollectionOld 删除原来别名。
2)/admin/collections?action=CREATEALIAS&name=CollectionOld&collections=solrCollection_201601,solrCollection_201602,solrCollection_201603,solrCollection_201604 创建新的匿名。
通过以上方式设计好处:
1、可以将非当月的大量的不变的数据和当月小量的实时变动的数据分离开来,如果再配合前台的选项,一定程度上实现了
读写分离,在不变数据上做优化,将不会影响建索引的速度,而建索引同样不会影响到不变数据部分的查询性能。
2. 定制文档hash
我们知道,solr在添加文档建索引的时候,通过文档id来进行hash到具体哪一个shard上去,从而实现一个Collection上的数据平衡性。
但是这也有个弊端就是我们在做查询的时候,需要到每个shard并行查询,然后再将总结果返回,这一定程度上降低了性能。
solr支持一个特性就是我们可以通过特殊标记文档id,将这类文档都建立在特定的shard上,然后查询的时候只需要设置下一个参数
就可以支持直接到这个shard查询,从而提高了建索引的速度和查询速度。(带来的弊端就是一个Collection上的几个shard上的文档数量可能不均衡)
注意:这里的路由到特定的shard,但是没办法路由的具体的shard的,这个和直接路由的区别在此。
方法:就是文档id以 !分隔,前面可以为指定一个标示,后面为原来的文档id即可,如solr!doc123.
solr利用了!前面的16个bit做hash,又用了后面的16个bit做hash最终文档ID的hash是将两者组合起来。
查询:
由于你指定了文档的hash,那么在查询的时候如果需要快速查询则也需要特殊设置,方法就是查询时候添加参数:_route_=solr! 即可以直接查询到原来特定的shard上。
如果需要设置多个,可以用,号分隔。比如:_route_=solr!,squid!
用处:
1、对于一些速率要求高的,日志量又不大的,又必须和其他日志混在一个collection中存储的文档,可以通过这种方式来指定。
分享到:
相关推荐
solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...
solr
solr
solr文档
Utilize Solr scripts and Collection Distribution scripts to manage Solr Employ search features like querying, categorizing, search based on location, and distributed search ☆ 出版信息:☆ [作者信息...
solr manageschema 配置文件,增加了分词器后的配置文件
solr技术文solr技术文solr技术文
Solr定时更新Solr定时更新
如何使用solr搭建服务器
Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的...
solr增量更新-
Apache Solr(solr-8.11.1.tgz)Binary releases 二进制版本
solr安装包下载地址
Solr(Cloudera)使用手册
Solr笔记,Solr笔记,Solr笔记,Solr笔记,Solr笔记,Solr笔记,Solr笔记,Solr笔记,Solr笔记,Solr笔记,
solr-6.2.0 强大的分布式搜索引擎,包含各种详细例子及源码解析
solr3.5开发教程solr3.5开发教程solr3.5开发教程solr3.5开发教程solr3.5开发教程
solr(solr-9.0.0.tgz)
在本套课程中,我们将全面的讲解Solr,从Solr基础到Solr高级,再到项目实战,基本上涵盖了Solr中所有的知识点。 主讲内容 章节一:Solr基础(上) 1. 环境搭建 2. 核心讲解 3. 数据导入 4. 各种中文分析器 章节二:...
Solr 8.11.2是8.x系列的最后一个版本,新版本已经是9.0版本了。 1,什么是solr? Solr是一个独立的企业级搜索应用服务器,他对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务提供一定格式...