我正在运行一个典型的logstash-redis-elasticsearch系统来捕获我的所有日志(大约500 GB /天)。据我所知,elasticsearch会查询索引中的每个分片并汇总结果,但是由于每天的日志量和所需的响应时间,我只想查询几个分片,当然应该在其中的某些“标签”上确定信息。因此,我正在寻找一种基于某些标签将数据分配给分片并仅基于标签查询相关分片的方法。关于如何实现这一目标的任何线索,引用或解决方案?
我已经看过shard allocation filtering,但是不能满足此特定要求。
最佳答案
路由是前往此处的方法。
指定路由选项,同时建立索引将导致文档在特定的分片上路由。参见routing in index API。
您也可以从字段中提取路由值。参见routing field。
不要忘记使用相同的路由值进行搜索。参见routing option in search。
关于elasticsearch - 根据标签查询数据并将其分配给分片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17440314/