solr定制文档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中存储的文档,可以通过这种方式来指定。

告别算力焦虑:手把手教你用华为CloudMatrix384超节点部署MoE大模型(附xDeepServe配置) 本文详细解析了如何在华为CloudMatrix384超节点上高效部署MoE大模型,通过xDeepServe框架配置和专家分配优化,实现2300 Tokens/s的推理吞吐。文章涵盖环境准备、性能调优、成本平衡及容灾设计,帮助开发者告别算力焦虑,提升AI推理效率。 阅读详情

相关推荐

从0到1构建数据分析AI Agent:数据采集、洞察生成与报告自动化

在企业数字化转型的今天,数据分析师80%的时间被消耗在重复取数、数据清洗、报表排版等低价值劳动上,真正用于深度业务洞察和决策支持的时间不足20%。本文将从核心概念、技术原理、代码实现、落地实践全维度,教你从0到1搭建一套完整的数据分析AI Agent系统,实现「用户用自然语言提需求→Agent自动采集多源数据→AI自动挖掘业务洞察→自动生成符合业务要求的多格式报告」的全链路自动化,平均可将需求响应速度从天级压缩到分钟级,释放70%以上的分析师人力成本。

AI Python 编程之道的博客 447

Solr空间索引原理及源码分析

看不到图片的可到我的github博客上看。   solr的4.0-4.1版本使用GeohashField.createSpatialQuery(), 未使用IntersectsPrefixTreeFilter(继承于AbstractVisitingPrefixTreeFilter)。4.2版本开始使用IntersectsPrefixTreeFilter。4.2和4.3及以后的区别好像只是小...

进击的莱鸟 353

永磁同步电机的仿真模型.doc

永磁同步电机的仿真模型.doc

一致性hashsolr千万级数据分布式搜索引擎中的应用

互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库。在这样严峻的条件下,一批又一批的创业者从创业中 获得成功,这个和当前的开源技术、海量数据架构有着必不可分的关系。比如我们使用mysql、nginx等开源软件,通过架构和低成本服务器也可以搭建千 万级用户访问量的系统。新浪微博、淘宝网、腾讯等大型互联网公司都使用了很多开源免费系统搭建了他们的平台。所以,用什么...

weixin_34252090的博客 134

批处理(黄宇)

批处理(黄宇)

GeniusBlue的专栏 1670

Solr Collection别名

http://www.jianshu.com/p/f0b1cda72341 1. Collection别名 简单理解,Collection 的别名是在solrColud云上的Collection做的又一层包装,可以用一个别名的Collection对应后台多个实际的Collection。 优点: 1、可以将实际的Collection和客户端程序分离开来,如果实际的collec...

虎猫 880

AJAX Solr是什么?3分钟读懂这个Solr搜索界面开发框架的前世今生

如果你正在为 Apache Solr 开发搜索界面,一定听说过 **AJAX Solr** 这个名字。它是一款基于 JavaScript 的 Solr 搜索界面开发框架,专门用来快速搭建功能完整的搜索交互页面,让开发者不必从零手写 AJAX 请求和结果渲染逻辑。本文用 3 分钟带你搞懂 AJAX Solr 的核心概念、架构组成与使用方式,帮你判断它是否适合你的项目。 ## 为什么需要 AJAX

gitblog_00412的博客 176

Solr 15 - Solr添加和更新索引的过程 (文档的路由细节)

目录 1 添加文档的细节 1.1 注册观察者 - watcher 1.2 文档的路由 - document route 1.2.1 路由算法 1.2.2 Solr路由的实现类 1.2.3 implicit路由算法的使用 1.2.4 Solr获取文档H...

weixin_30716725的博客 241

Solr_集群介绍

概述Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库 Solr是以Lucene为基础实现的文本检索应用服务。Solr部署方式有单机方式、多机Master-Slaver方式、Cloud方式 SolrCloud是基于Solr和Zookeeper的分布式搜索方案。在分布式索引中,原来的大索引,将会分成多个小索引,solr可以将这些小索引返回的结果合并,然后返回给客户端。 solr的基

Regan_Hoo的博客 931

Solandra高级应用:动态添加SolrCores与集群扩展最佳实践

Solandra作为Solr和Cassandra的完美融合,为分布式搜索提供了革命性的解决方案。这个强大的实时分布式搜索引擎让动态管理SolrCores变得前所未有的简单。在前100个字内,Solandra的核心关键词已经自然出现,这个基于Apache Solr和Apache Cassandra的集成系统,通过Cassandra的数据模型实现文档存储和分发,让搜索集群的扩展和管理变得轻松高效。

gitblog_00093的博客 456

solrcloud2

分片的原因 由于底层Lucene的限制,每个solr索引中包含的文档数不能超过231个,大约是21亿个。但是solr分片一般不是基于这个的原因,因为一般没有到这个峰值的之后,solr的各中性能问题就暴露出来了。分片一般是为了提高性能,提高吞吐量。 复制策略 solr的复制策略和大部分的NOSQL数据库的复制策略不同,不是通过事务日志进行同步的,而是每次写操作都有leader节点分发到每个re...

weixin_30410999的博客 91

ESearch:58集团基于C++语言自主研发的搜索内核

作者| 杨逸出处|58架构师 公众号58 同城作为中国最大的分类信息网站,提供了房产、招聘、黄页和二手交易等多方面的生活服务信息,信息数据量和访问量逐年增长,列表页排序需求也时常变化。在这样的背景下,58 搜索技术部使用 C++ 语言自主研发了 ESearch 搜索内核,取代之前使用的 Solr,大幅提高了性能和可定制性。经过多年的实践和优化,ESearch 已发展成为一个功能完善、性能优异、运行...

weixin_34357887的博客 472

SolrCloud中的分片策略有哪些,它们各自的优缺点是什么?

SolrCloud中,分片(sharding)是一种将索引数据分割成多个部分的技术,每个部分被称为一个分片。分片策略的选择对于集群的性能、可扩展性和维护有着重要影响。

qq_33240556的博客 497

solr 空格关键词

在应用中,可能会遇到英文短语作为一个检索词进行索引,而索引的分词也是短语分词或string分词。因为英文短语间会有空格,而用solr检索时会把空格转变为+号,就成了两个词联合检索,用什么方法可以避免形成两个词?...

yaljj84的博客 537

solr分组聚合

在大型电子商务网站中,在商品列表页,我们都可以看到商品按分类,品牌,价格的分类显示,如下图,这些我们可以使用solr中的facet功能实现。      facet的基本功能就是对搜索结果中的商品进行分类。     1.facet用法        facet.field:指定要分类的字段        facet=on 或 facet=true表示功能开启        facet...

yaljj84的博客 456

查找相似页面

MLT 要求字段被储存或使用检索词向量,检索词向量以一种以文档为中心的方式储存信息。MLT 通过文档的内容来计算文档中关键词语,然后使用原始查询词语和这些新词语创建一个新的查询。提交新查询就会返回其他查询结果。所有这些都可以用检索词向量 来完成:只需将 termVectors="true" 添加到 schema.xml 中的 <field> 声明。 在 Google 上尝试一个查询,...

yaljj84的博客 339

IK自定义词库

ik 支持api级的用户词库加载,和配置级的词库文件指定,无 BOM 的 UTF-8 编码,\r\n 分割。不支持自动检测。   在类org.wltea.analyzer.dic.Dictionary下,有loadExtendWords和loadExtendStopWords这两个方法来扩展词库...

yaljj84的博客 265

solr的复制功能

参考朋友chenlb的文章:http://www.iteye.com/topic/211807,谢谢!     solr的复制功能可以把创建索引和search分离开来,可以像一台主服务器发送http请求创建索引,创建完了,利用linux crontab定时功能,实现向多台索引服务器的replicate。实现索引的同步。 要在solr里配置索引段位2个,这样每次都是事复制最新新增加的索引过去,而...

yaljj84的博客 259

Collections API timeouts

Such timeout can occur when Solr is not able to obtain cluster state. If following call is results in timeout, then this is the case http://solr-hostname:8983/solr/admin/collections?action=CLUSTERST...

yaljj84的博客 254
上一篇: Distributed Requests
yaljj84
博客等级 码龄18年 0粉丝 52原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值