美文网首页说说Elasticsearch那点事elasticsearch
使用alias-routing-filter解决单索引多shar

使用alias-routing-filter解决单索引多shar

作者: 愚公300代 | 来源:发表于2016-11-03 09:29 被阅读72次

使用alias/routing/filter解决单索引多shard的性能问题:


Alias.png

1.单索引多别名
2.每个别名具有routing值
3.每个别名具有filter语句

PUT user
POST /_aliases
{
"actions" : [
{
"add" : {
"index" : "user",
"alias" : "user1" ,
"routing" : "user1",
"filter" : { "term" : { "user" : "user1" } }
}
},
{
"add" : {
"index" : "user",
"alias" : "user2" ,
"routing" : "user2",
"filter" : { "term" : { "user" : "user2" } }
}
},
{
"add" : {
"index" : "user",
"alias" : "user3",
"routing" : "user3",
"filter" : { "term" : { "user" : "user3" } }
}
}
]
}

每个别名有了routing值,在索引和搜索相应别名时,会自动使用别名对应的routing值,有了filter则在搜索时,自动使用相应的filter对搜索结果进行过滤。
详细设计思路参考:https://discuss.elastic.co/t/over-allocation-of-shards/6448/6
关于routing
一个文档被索引到的shard由下面公式决定
shard = hash(routing) % number_of_primary_shards
routing可以是默认字符串,默认值是文档的id(_id)

问题:
I dont understand exactly the difference to build 1 shard per index and
this method to build 1 index + routing.
I understood that it's better for the system ressource but not exactly why ?
因为:
More of one user can use a same shard.
参考:
别名使用:https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html
routing:https://www.elastic.co/guide/en/elasticsearch/guide/current/routing-value.html
必须使用routing值:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-routing-field.html

相关文章

  • 使用alias-routing-filter解决单索引多shar

    使用alias/routing/filter解决单索引多shard的性能问题: 1.单索引多别名2.每个别名具有r...

  • 57、索引管理_创建、修改以及删除索引

    1、创建索引 创建索引的语法 示例 2、修改索引 修改索引replica shard数量,primary shar...

  • iOS单例模式容错处理

    ios 单例模式容错处理 1、单例模式的使用和问题解决 在ios开发的过程中,使用单例模式的场景非常多。系统也有很...

  • where条件顺序是否对查询效率有影响?

    结论:没有影响。首先,如果没有使用到索引,扫描全表不会对查询有影响。如果有使用到索引,和索引的声明顺序有关(多个单...

  • 2.索引

    索引 1.双下标索引 2.单下标索引 3.双下标索引转换为单下标索引单下标索引=sub2ind(size,m,n)...

  • redis 第六讲 List

    单值多 value LPUSH / RPUSH / LRANGE LPOP / RPOP LINDEX 按照索引下...

  • Mysql34--Join 用法记录

    如果可以使用被驱动表的索引,join要优于单表查询 ; 不能使用被驱动表的索引,只能用Block Nested-...

  • MYSQL性能优化

    1、单表优化 如果(a,b,c,d)复合索引,并且和使用的顺序全部一致,而且不夸列使用,则复合索引全部会被使用,如...

  • Elasticsearch 调研

    1. 基础概念 1.1 倒排索引原理 1.2 倒排索引构成 单词词典,使用 BTree 记录所有文档的单词,记录单...

  • 解决elasticsearch集群Unassigned Shar

    1.背景&问题描述 接上篇文章 http://www.jianshu.com/p/329b9f92ac4c在上一篇...

网友评论

  • 凌渡冰:还有电脑和手机格式都看下,需要处理下哈
    愚公300代:@凌渡冰 好的。
  • 凌渡冰:你这篇图确实是裂的,你处理下吧先
  • jacksu在简书:图挂了
    愚公300代:@jacksu在简书 在我的页面可以看到的,是你那儿网速不好吗?若需要可以想办法传给你。

本文标题:使用alias-routing-filter解决单索引多shar

本文链接:https://www.haomeiwen.com/subject/kaubuttx.html