我将从筛选查询中获取文档(相当多的文档)。然后我会立即创建一个索引(在Python中,使用requests
直接查询REST API),而不做任何修改。如何从搜索结果中创建索引,全部在服务器上?
是否可以直接在服务器上执行此操作,而不会将数据往返于脚本并返回?
Another question相似(在意向)和唯一的答案是通过Logstash去(相当于使用我的代码,虽然可能更有效)
我将从筛选查询中获取文档(相当多的文档)。然后我会立即创建一个索引(在Python中,使用requests
直接查询REST API),而不做任何修改。如何从搜索结果中创建索引,全部在服务器上?
是否可以直接在服务器上执行此操作,而不会将数据往返于脚本并返回?
Another question相似(在意向)和唯一的答案是通过Logstash去(相当于使用我的代码,虽然可能更有效)
参考http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/reindex.html
总之你需要做什么是 0),确保您拥有_source设置为true
1)使用扫描和滚动API,通过与搜索类型的扫描你的过滤查询,
2)取文件S使用滚动ID
2.)散装指数的结果使用它返回您用来索引数据
指的JSON源字段: http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html
导向/ EN/elasticsearch /导向/电流/ bulk.html
导向/ EN/elasticsearch /导向/电流/ reindex.html
ES 2.3有一个实验功能,它允许重新索引从查询 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html
这实际上是我打算按照我的问题做的事。如何确保操作在elastiscearch中完成,以避免获取和推送部分? – WoJ 2014-12-14 07:05:01
“在elastiscearch中完成”你是否想要避免使用网络?我不认为你可以避免网络调用,即使你在服务器本身上执行你的程序,它仍然会通过http传递给ES(即使你在java中使用传输客户端,你仍然在使用网络)。 – 2014-12-15 04:23:29