小编Fra*_*ett的帖子

Elasticsearch中的索引别名和通配符索引端点是完全相同的吗?

索引别名的Elasticsearch文档说:

索引别名API允许使用名称对索引进行别名,所有API都自动将别名转换为实际索引名称.别名也可以映射到多个索引,并且在指定别名时,别名将自动扩展为别名索引.

多指数的文档说:

大多数引用index参数的API都支持使用简单test1,test2,test3表示法(或_all所有索引)跨多个索引执行.它还支持通配符,例如:test*和"添加"(+)和"删除"(-)的能力,例如:+test*,-test3.

场景#1

  1. 您有2014年的12个月度指数,每个指数都以日期模式命名,例如 someprefix_2014-07

  2. 您将所有这些索引映射到名为的别名2014.

  3. 这两个请求都会返回相同的结果:

    • $ curl -XGET http://localhost:9200/someprefix_2014-*/_stats

    • $ curl -XGET http://localhost:9200/2014/_stats

场景#2

  1. 您的群集中总共有24个月度索引,您决定要将所有索引作为目标.

  2. 所有这些请求都会返回相同的结果:

    • $ curl -XGET http://localhost:9200/_stats

    • $ curl -XGET http://localhost:9200/_all/_stats

    • $ curl -XGET http://localhost:9200/*/_stats

    • $ curl -XGET http://localhost:9200/someprefix_*/_stats

我的问题

所有这些方法是否都在"引擎盖下"做同样的事情,还是有可能期望比其他方法更好的性能?

我问,因为我读过通配符查询是一个常见的性能瓶颈,但我从未见过在索引端点中使用别名或通配符的任何类似警告 - 或区分默认别名(如_all)与自定义别名.

indexing rest performance elasticsearch

5
推荐指数
1
解决办法
4168
查看次数

标签 统计

elasticsearch ×1

indexing ×1

performance ×1

rest ×1