2014-12-13 78 views
0

我将从筛选查询中获取文档(相当多的文档)。然后我会立即创建一个索引(在Python中,使用requests直接查询REST API),而不做任何修改。如何从搜索结果中创建索引,全部在服务器上?

是否可以直接在服务器上执行此操作,而不会将数据往返于脚本并返回?

Another question相似(在意向)和唯一的答案是通过Logstash去(相当于使用我的代码,虽然可能更有效)

回答

1

参考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

+0

这实际上是我打算按照我的问题做的事。如何确保操作在elastiscearch中完成,以避免获取和推送部分? – WoJ 2014-12-14 07:05:01

+0

“在elastiscearch中完成”你是否想要避免使用网络?我不认为你可以避免网络调用,即使你在服务器本身上执行你的程序,它仍然会通过http传递给ES(即使你在java中使用传输客户端,你仍然在使用网络)。 – 2014-12-15 04:23:29