首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Elasticsearch中获取特定值的所有项

问如何在Elasticsearch中获取特定值的所有项
EN

Stack Overflow用户
提问于 2019-05-11 03:56:20
回答 1查看 37关注 0票数 1

我正在寻找同步一个Elasticsearch索引到另一个数据源。要获取数据库数据,我可以执行以下操作:

代码语言:javascript
复制
select _id, md5 FROM history

在ES中执行此操作的最快方法是什么?我试过使用scroll API,但它看起来非常慢,有10k的限制:

代码语言:javascript
复制
es.search(index='history', _source=['_id', 'md5'], size=10000))

有没有更好的方法来做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-12 04:02:45

通过使用slices,可以并行使用Scroll API。从理论上讲,它可以在N个切片的情况下将速度提高N倍。

滚动速度慢是因为Elasticsearch需要执行full scan。

为了同步Elasticsearch和其他数据库,我建议在Elasticsearch之前设置一些文档队列,以便将文档发送到Elasticsearch和其他组件。这样的文档队列的一个例子是Apache Kafka。据我所知,没有任何机制允许将新文档更新从Elasticsearch发送到第三方组件。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56084077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档