我正在运行一个典型的logstash-redis-elasticsearch系统来捕获我的所有日志(大约500 GB /天)。据我所知,elasticsearch查询索引中的每个分片并聚合结果,但由于每天的日志量和所需的响应时间,我想只查询几个分片,当然应该在一些“标签”中查询信息。所以我正在研究一种基于某些标签将数据分配给分片并基于标签仅查询相关分片的方法。关于如何实现这一目标的任何线索,参考或解决方案?
我已经查看了shard allocation filtering,但这并不符合这一特定要求。
答案 0 :(得分:2)
路由是这里的方式。
指定路由选项,而索引将导致文档在特定分片上路由。请参阅routing in index API。
您还可以从字段中提取路由值。请参阅routing field。
不要忘记使用相同的路由值进行搜索。请参阅routing option in search。