从弹簧数据Jpa获取弹性搜索查询

时间:2018-01-15 16:08:25

标签: elasticsearch spring-boot spring-data-jpa

在我的代码库中,我有两个用于搜索弹性的代码。

  1. 一个是通过ElasticSearchTemplte,我在那里建立了弹性的弹性查询和查询。
  2. 在第二个中,我通过spring-data-jpa查询。
  3. 在第一种情况下,我可以看到我的弹性搜索查询,可以直接在ES上查询。

    我的问题是 有没有办法从spring-data-jpa获得弹性查询。

    我想看一下spring-data-jpa在查询ES之前构建查询的内容。

1 个答案:

答案 0 :(得分:0)

使用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>