我一直在网上搜索最近几个小时试图弄清楚这一点。 我有一个中央ES服务器,它使用我所有的数据。它坐落在一个私人网络中。在另一个网络上,我想提出另一个ES并让客户访问它,以便他们可以检查一些统计数据。如何在两个elasticsearch集群之间迁移数据
我的问题:
什么是数据馈送到基于查询结果,这种新的实例,它是特定于该客户端的最佳方式?
对于Logstash,为什么它不通过所有索引返回符合我的查询的所有文档?
例如:
"query": {
"bool": { "must": { "match": { "referrer": "clientsite.com" }}}
}
从我的研究,新的“重新索引从远程”在ES 5.0的特点是未来的发展方向,但大多数互联网文章指出使用elasticsearch插件为Logstash输入和输出方法。
我试过了,但它似乎像logstash只产生少量的结果,然后退出。如果我只使用"match_all": {}"
它似乎通过我所有的文件。
这里是我的logstash.conf文件:
input {
elasticsearch {
hosts => "192.168.0.1"
index => 'logstash-*'
query => '{ "query": { "bool": { "must": { "match": { "referrer": "clientsite.com" } } } } }'
scroll => "1m"
size => 1000
}
}
stdout {
codec => "rubydebug"
}
}
我也试过这个查询行,没有成功:
query => '{ "query": { "bool": { "must": { "match_all": {} } , "filter": { "term": { "referrer": "uol.com.br" } } } }, "sort": [ "_doc" ] }'
听起来你需要在你的查询中进行一些过滤(通过创建日期或通过ID,如果它是int)。 –
在我的最后一个查询中,我添加了一个日期过滤器来控制我希望复制的时间片。谢谢你的提示。 –