java - 如何使用elasticsearch api高效地对大量数据进行搜索?

标签 java search elasticsearch

我想在java中使用elastichsearch进行索引和搜索机制。我的问题是,如果索引和搜索结果中有大量数据,我不知道该怎么办。

Elasticsearch 中实时用户请求的大数据正确的搜索 API 是什么?或者你对此有什么想法吗?

感谢您的帮助/评论。

最佳答案

  • 在索引时,您有一个bulk API dedicated执行 一次调用即可执行许多操作。

  • 搜索时,默认情况下您仅检索 10 个结果。您可以通过设置 from/size 参数来使用分页并浏览更大的结果集,您有 一个 scroll API(文档在这里) 使用起来有点像游标和数据库。

关于搜索的实时性,请注意,结果不会立即可见。您可能需要等待最多 1 秒(refresh_interval 默认值)。您可以强制执行此刷新操作或降低refresh_interval参数值,但这样做成本高昂,在对大量文档建立索引时应避免这样做。

关于java - 如何使用elasticsearch api高效地对大量数据进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26096766/

相关文章:

java - 为什么在 Java 中使用 ByteArrayInputStream 而不是 byte[]

java - gui 选项卡式 Pane - 如何将内部类放入我的选项卡式 Pane 中

algorithm - 如何使用后缀树在线性时间内找到这样的字符串?

oracle - 通过 map 搜索数据可减少编程

elasticsearch - 什么是具体指标

ElasticSearch 2.0 Java API : java. lang.ClassNotFoundException : org. elasticsearch.common.settings.ImmutableSettings$Builder

java - 替换字符串中的多个字符

java - hibernate : All tables in SQL Server database are not auto-created

MySQL - 在每个字段中搜索特定字符

elasticsearch - 如何使用mpdreamz Nest进行方面搜索