【发布时间】:2018-02-06 17:30:55
【问题描述】:
我正在开发一个项目,我们使用 Spring boot 和 H2 数据库为开发配置文件和 PgSQL 公开一组 API 用于生产。
我们希望通过基于字段的过滤机制来增强我们的资源端点,以便我们可以访问以下内容:localhost:8080/api/users?firstName=Jhon&company.job=developer
我们尝试使用 jpa 规范,但受到一些限制,例如:枚举、嵌套元素……所以我们决定使用 ElasticSearch。
在网上找到的所有文章都首先讨论了我们使用 ElasticSearch 作为存储系统的场景,而不仅仅是可以与数据源集成的索引搜索引擎。如果有人可以指导我实现如何使用 Spring Boot 将 elasticSearch 与数据库链接起来,那就太好了。谢谢
【问题讨论】:
-
通过将 ElasticSearch 与数据库链接来解释您的意思。
-
也许 Jhipster 会做这项工作
-
在 Spring 中保存模型时,为什么不使用保存到 ES 索引?
-
@SimonMartinelli 如果我理解正确的话,使用elasticsearch我们可以索引数据库中的文档或表格,这样我们就可以拥有先进的搜索机制。由于我不想浪费时间在实现嵌套元素的 JPA 规范(表之间连接),我想将我的数据表索引为平面 Json 对象,并使用 QueryDSL(elasticsearch 语法)基于参数进行高级研究我将提供的 URL。
-
@ryanlutgen 好吧,这样我会在我的数据库数据和 ES 之间实现良好的同步,但我如何设置配置以使它们都工作?我应该按域模型创建两个存储库(一个用于 JPA,一个用于 ES)吗?
标签: java database spring spring-boot elasticsearch