我将从过滤的查询中获取文档(相当多的文档)。然后我会立即从它们创建一个索引(在Python中,使用requests
直接查询REST API),而不做任何修改。
是否可以直接在服务器上进行此操作,而无需将数据往返脚本并返回?
Another question类似(在意图中),唯一的答案是通过Logstash(相当于使用我的代码,虽然可能更有效)
答案 0 :(得分:1)
参考http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/reindex.html
简而言之,您需要做的是 0.)确保将_source设置为true
1。)使用扫描和滚动API,通过搜索类型扫描传递过滤后的查询,
2.)使用滚动ID
获取文档2.。)使用source字段对结果进行批量索引,该字段返回用于索引数据的json
参阅: http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html
导向/ EN / elasticsearch /导向/电流/ bulk.html
导向/ EN / elasticsearch /导向/电流/ reindex.html
答案 1 :(得分:0)
es 2.3有一个实验性功能,允许从查询中重新索引 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html