如何从JAVA中搜索弹性搜索中的数据

时间:2016-05-05 08:51:19

标签: elasticsearch

我在我的项目中使用弹性搜索,搜索我们有2种方法: -

  • prepareGet
  • prepareSearch

这两种方法有什么区别?而哪一个更有效?

提前致谢

1 个答案:

答案 0 :(得分:1)

Prepare Search

  • 它允许您搜索与您在setQuery()方法中指定的查询匹配的文档。您也可以根据自己的要求传递filter
  • 它可以跨一个或多个索引执行,也可以跨一个或多个类型执行。
  • 执行搜索时,会将其广播到所有索引/索引分片(副本之间的循环)。

PrepareGet

  • 就像findByid()。您必须指定要提取的文档的ID。
  • 在一个索引下执行一种类型。
  • 将Get操作转换为特定的分片ID。然后它被重定向到该分片ID中的一个副本并返回结果。

    PrepareGet更有效率,因为它基于id获取数据。