ElasticSearch中每个索引的路由值

时间:2017-08-24 09:19:27

标签: elasticsearch

该系统拥有大量公司。公司有用户,用户有文件夹。我们希望按文件/文件夹元数据构建搜索,并希望使用ElasticSearch。

我们的目的是使用根文件夹ID作为分片键,因为普通用户有大约10个根文件夹。

有些公司在文件和文件夹数量上比其他公司大得多。我们希望优化进入ElasticSearch的查询,以便将这些公司提取到单独的索引中。问题是一些用户在许多公司都有文件夹,所以查询请求应该进入众多索引。

假设一家小公司的用户有文件夹1(由小公司拥有)和2(由大公司拥有)。因此请求应该进入 small_companies_index huge_company_A_index 。 Alias all_companies 是使用 small_companies_index huge_company_A 索引创建的。 实际请求看起来像

GET /all_companies_alias/_search?routing=1,2

因此,ES将进入 huge_company_A_index 并请求按值[1,2]计算的分片,并在 small_companies_index 中执行相同的操作

有没有办法告诉ES路由密钥1只对应 small_companies_index 而2对 huge_company_A_index ,所以不要进行不必要的分片请求?

还有其他方法可以解决问题吗?

0 个答案:

没有答案