当前位置: 首页 > 知识库问答 >
问题:

Spring数据Elasticsearch:ElasticsearchRestTemplate或ElasticsearchRepository

淳于嘉树
2023-03-14

我使用的是spring boot starter数据elasticsearch(2.3.0版本),它使用的是spring数据elasticsearch(4.0.0版本)。

官方文档显示了ElasticsearchRestTemplate和ElasticsearchRepository的用法。为文档编制索引的推荐方法是什么?

ElasticsearchRestTemplate.index() or ElasticsearchRepository.save()

这里也有一个类似的问题,但已经有5年多了。

共有1个答案

孟翰藻
2023-03-14

对于使用Spring数据项目,尤其是Spring数据项目,我从来没有看到过关于更好地使用存储库或操作bean(模板是一个实现)的任何建议。

Spring Data Repositories让您可以快速编写基本的CRUD功能,从而获得更少样板和更快开发的好处,尽管在幕后它仍然使用某种类型的*操作bean(由各自的模板实现),但如果您尝试做一些高级的事情,您可能会遇到问题。

例如,Spring Data JPA就不是这样,因为这是最古老的项目之一,并且对使用存储库完成的许多高级工作有着丰富的支持(但并非全部)<另一方面,Spring Data ES项目没有那么多(目前)。您可能很难编写一些高级查询,或者straight无法做到这一点。

这确实是偏好的问题。我根据我的工作使用两者。在您的情况下,我会使用存储库来索引,因为它只是一个简单的创建。

 类似资料:
  • 尝试启动Spring应用程序时出现以下错误

  • 看看有没有人能帮上忙。 我想使用Spring数据mongodb的存储库,我想使用查询注释来过滤按值A=10或A=20查找的数据 很明显,“试着做一个AND,我需要一个OR。 有什么想法吗?

  • 我有一个关于spring hateoas或spring Rest Data中加密资源/实体ID的标准模式或机制的问题。 我问的原因是,我们项目的一个要求是我们不将对象的id传递给外部世界,并且它们不应该在GET请求中用作参数。 我知道,Spring Rest数据和spring-hateoas不会给出对象的id,除非它们被配置成这样,但即使这样,我也可以在链接中看到id。 我知道我可以使用属性编辑器

  • 我有一个使用SpringDataREST的SpringBoot应用程序。我在使用swagger提供一个通俗易懂的API文档时遇到了一个问题。我试过SpringFox和springdoc,但都有问题 春狐: 我不能改变一个仓库的标签名称,只有描述 不支持投影 还不支持openAPI3(这其实问题不大) 我无法更改标记名称和描述(@tag对回购不起作用) 还有更好的办法吗?我喜欢SpringFox不提

  • 我对spring相当陌生,正在做一些集成测试。使用Hibernate、MySql和Spring数据JPA。我正在使用事务支持,在每个测试结束时都会回滚所有内容。 例如: 在上面的代码中,我调用iUserService。flush(),以便将sql发送到DB,并发生预期的DataIntegrityViolationException,因为存在从用户到另一个表的外键(不允许级联,无)。到目前为止一切都

  • 我对弹性搜索和Spring都不熟悉。我已经编写了一个Javascript POC,它将JSON字符串转换为Elasticsearch查询(并执行请求)。它需要这样的字符串: (注意:此查询可能有任何嵌套级别) ... 并将其转化为: 它首先为第一次访问Elasticsearch创建一个查询(类似于上述),以提取构建此查询所需的一些信息(“链接”)。每次访问Elasticsearch都可能返回数百万