【问题标题】:Get elastic search query from spring data Jpa从 Spring Data Jpa 获取弹性搜索查询
【发布时间】:2018-01-15 16:08:25
【问题描述】:
在我的代码库中,我有两个用于在 elastic 上搜索的代码。
- 一个是通过 ElasticSearchTemplte 从那里我构建弹性查询和弹性查询。
- 第二个是通过spring-data-jpa查询的。
第一种情况,可以看到我的弹性搜索查询,可以直接在ES上查询。
我的问题是
有什么方法可以从 spring-data-jpa 获取弹性查询。
我想在查询到 ES 之前看看 spring-data-jpa 正在构建查询。
【问题讨论】:
标签:
elasticsearch
spring-boot
spring-data-jpa
【解决方案1】:
带有 Query-Dsl 的 Spring-boot 提供了弹性搜索。关注this。还有这个tutorial下面的依赖和插件
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<project>
<build>
<plugins>
...
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
</dependency>
</dependencies>
</plugin>
...
</plugins>
</build>
</project>