Elasticsearch模块功能之-路由(routing)
索引分片分配能够控制索引分片在节点上怎么分布,那对于具体的文档能否控制具体节点的分布呢?答案是可以,根据路由公式shard = hash(routing) % number_of_primary_shards,Elasticsearch使用相同的routing参数来实现这个功能,但我们在创建索引时需如下进行配置:
- "mappings":{
- "doc": {
- "_routing": {
- "required": true,
- "path":"_routing"
- },
- "properties": {
- "title": {
- "type":"string"
- }
- }
- }
- }
如果我们想在建索引时将相关的文档存放到一个分片下就可以这样做:
- curl- XPUT localhost: 9200 / documents / doc / 1 - d '
- {
- "title": "Document No.1",
- "_routing":"A"
- }'
- curl- XPUT localhost: 9200 / documents / doc / 2 - d '
- {
- "title": "Document No.1",
- "_routing":"A"
- }'
- curl- XPUT localhost: 9200 / documents / doc / 3 - d '
- {
- "title": "Document No.1",
- "_routing":"B"
- }'
这样将id为1和2的文档将会存在统一个分片上去。
既然索引文档的时候使用了路由,那么肯定得在查询的时候利用了,在查询的时候使用routing参数将使得查询更加高效,如下:
- curl-XGET 'localhost:9200/documents/_search?pretty&q=*:*&routing=A'
from http://blog.csdn.net/changong28/article/details/38427311
相关推荐
- **X-Pack Security**:Elasticsearch的官方安全模块,提供身份验证、授权、SSL/TLS加密等功能。 - **jar包安全更新**:如果发现有安全漏洞的jar包,可以通过修改源代码,替换为修复后的版本,重新打包生成新的...
- **Replica**: `org.elasticsearch.cluster.routing` 和 `org.elasticsearch.cluster.service` 包下包含关于副本的路由和集群状态更新逻辑。 - **Search**: `org.elasticsearch.search` 包中的类涉及搜索算法,如 `...
分布式搜索是现代大数据处理的关键技术之一,而Elasticsearch作为其中的佼佼者,因其高效、灵活和可扩展性而广泛应用于各种场景。本篇将深入探讨Elasticsearch的基础知识,涵盖其核心概念、环境搭建、配置管理以及...
源码中,可以看到Elasticsearch如何实现节点间的通信、数据分片和副本机制,以及如何处理索引的自动路由和负载均衡。 学习Lucene 4.4和Elasticsearch的源码,可以帮助开发者深入理解信息检索的核心原理,包括倒排...
Next.js 国际化路由(i18n Routing)是 Next.js 框架中一个强大的功能,允许开发者为他们的应用程序提供多语言支持。在深入探讨这个实践项目之前,我们首先需要了解 Next.js 和国际化的基本概念。 Next.js 是一个...
7. 配置路由(Configure Routing):根据网络需求配置适当的路由协议,以便于不同网络间的数据传输。 8. 配置服务质量(QoS)(Configure QoS):确保网络通信的质量和效率,对数据流进行优先级排序。 9. 验证配置...
7. Angular2的路由(Routing): - 路由模块允许你定义导航路径和配置路由规则。 - 路由系统支持懒加载、子路由等高级特性。 8. Angular2的表单处理: - Angular2提供了两种表单:模板驱动表单和响应式表单。 -...
Elasticsearch 的源码结构分为多个模块,如 `core`, `network`, `plugins`, `rest`, `index`, `mapper`, `search` 等。每个模块都专注于特定的功能,例如 `core` 包含基础组件,`network` 负责节点间通信,`plugins...
Elasticsearch 采用 Java 开发,遵循模块化设计,主要组件包括: - **Lucene**: 核心搜索库,提供了倒排索引、搜索算法等基础功能。 - **Transport Client**: 负责节点间的通信。 - **Cluster Service**: 处理集群...
- **动态路由匹配(Dynamic Routing)**:允许路由参数,如`:id`,用于处理具有动态属性的URL。 4. **Vuex** - **状态(State)**:存储应用的全局状态。 - ** mutation**:改变状态的唯一方法,确保状态变更的...
通过`display ospf routing`命令查看是否存在“Routing for ASEs”,以确认是否缺少到特定目的地的路由。 在OSPF问题定位过程中,理解OSPF的工作原理、LSA的类型和作用、路由计算机制以及故障排查工具的使用方法是...
FicusJS路由器 支持历史记录和哈希路由的轻型独立客户端路由器。 文献资料 请参阅。 榕属 寻找一组轻量级功能来使用Web组件...是否在寻找轻量级的脚本加载器以基于动态路径延迟加载ES模块和ES5脚本或同时加载这两者?
- **搜索功能**:实现关键词搜索,允许用户快速查找相关问题和答案,可能使用全文索引技术如Elasticsearch提高搜索效率。 - **标签系统**:通过标签对问题进行分类,方便用户按主题浏览。 - **积分与等级系统**:...
- **SM-SR**:Service Management - Secure Routing,服务管理 - 安全路由。 - **ES5**:Embedded SIM Specification Version 5,嵌入式SIM卡规格第5版。 #### 1.7 参考资料 文档引用了一些相关的标准和技术文档,...
路由(Routing)** Angular 2的路由系统允许你根据URL导航到不同的组件。在ES5中,使用`ng.router.RouterModule`和`ng.router.Router`来配置和使用路由。 **8. 生命周期钩子(Lifecycle Hooks)** Angular 2组件有...
6. 模块(Modules):TypeScript支持AMD、CommonJS和ES模块导入导出,便于代码组织和重用。在Spotify-App中,不同的功能模块可能会被拆分为单独的文件,通过模块系统进行组织和引用。 7. 面向服务架构(Service-...
此外,VRP(Versatile Routing Platform)是H3C的路由操作系统,提供强大的网络管理能力。 2. **调制解调器**:H3C的调制解调器包括抽象概念的modem、Modem pool,以及具体型号如MSR20、MSR30、MSR50等系列,这些...
7. **路由**(Routing):AngularJS的ngRoute或ui-router模块用于管理应用的导航和视图切换。 8. **依赖注入**(Dependency Injection):AngularJS自动管理对象间的依赖关系,简化了代码并提高了测试性。 9. **...
这个框架的核心特点在于其强大的代码拆分和动态导入功能,这使得应用程序可以按需加载,显著提高页面加载速度并优化用户体验。通过智能的代码分割,开发者能够将应用的不同部分分开打包,只在用户需要时才加载相应的...