hibernate-search-elasticsearch
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-elasticsearch</artifactId>
<version>5.6.6.Final</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
~ Hibernate Search, full-text search for your domain model
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>hibernate-search-parent</artifactId>
<groupId>org.hibernate</groupId>
<version>5.6.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>hibernate-search-elasticsearch</artifactId>
<name>Hibernate Search Elasticsearch</name>
<description>Hibernate Search backend which has indexing operations forwarded to Elasticsearch</description>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-engine</artifactId>
</dependency>
<dependency>
<groupId>io.searchbox</groupId>
<artifactId>jest</artifactId>
<version>${elasticsearchJestVersion}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-annotations</artifactId>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-testing</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-engine</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-phonetic</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>simple-jndi</groupId>
<artifactId>simple-jndi</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils-easymock</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<scope>test</scope>
<exclusions>
<!-- Exclude dependencies that conflict with io.searchbox:jest -->
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.2_spec</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easytesting</groupId>
<artifactId>fest-assert</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.skyscreamer</groupId>
<artifactId>jsonassert</artifactId>
<version>1.2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.takari.junit</groupId>
<artifactId>takari-cpsuite</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<testResources>
<testResource>
<filtering>true</filtering>
<directory>src/test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<!-- Elasticsearch integration currently not supported in OSGi;
This section commented out to not make it appear it might work.
If you need this to work in OSGi, please see and vote for: https://hibernate.atlassian.net/browse/HSEARCH-2524
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Import-Package>
org.hibernate.search.*;version="[${project.version},${project.version}]",
org.apache.lucene.*;version="${luceneOsgiRangeVersion}",
org.hibernate.annotations.common.*;version="${hibernateHcannOsgiRangeVersion}",
</Import-Package>
<Export-Package>
</Export-Package>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<argLine>${additionalRuntimeArgLine}</argLine>
<dependenciesToScan>
<dependency>org.hibernate:hibernate-search-engine</dependency>
<dependency>org.hibernate:hibernate-search-orm</dependency>
</dependenciesToScan>
<includes>
<include>**/*IT.java</include>
<include>**/*.java</include>
</includes>
<excludes>
<!-- HSEARCH-2389 Support indexNullAs for @IndexedEmbedded applied on objects with Elasticsearch -->
<exclude>**/IndexEmbeddedProgrammaticallyMappedTest.java</exclude>
<!-- Also, parts of NullEmbeddedTest -->
<!-- HSEARCH-2395 Support MoreLikeThisQueries with the Elasticsearch backend -->
<exclude>**/MoreLikeThisTest.java</exclude>
<!-- HSEARCH-2137 Translate core Lucene Queries to Elasticsearch queries -->
<exclude>**/ExplanationTest.java</exclude>
<!-- HSEARCH-2398 Improve field name/type validation when querying the Elasticsearch backend -->
<exclude>**/FacetUnknownFieldFailureTest.java</exclude><!-- The elasticsearch backend seems too lenient for unknown field names. -->
<exclude>**/QueryValidationTest.java</exclude><!-- testTargetNumericEncodedFieldWithStringQueryThrowsException: The Elasticsearch backend throws an exception, but not exactly the one we expect -->
<exclude>**/QueryValidationTest.java</exclude><!-- testTargetStringEncodedFieldWithNumericRangeQueryThrowsException: The Elasticsearch backend seems to accept numeric range queries on string fields...? (it even seems to match) -->
<!-- HSEARCH-2399 Implement timeouts for the Elasticsearch backend -->
<exclude>**/JPATimeoutTest.java</exclude>
<exclude>**/TimeoutTest.java</exclude>
<!-- HSEARCH-2404 Enable CollectionUpdateEventTest for Elasticsearch -->
<exclude>**/CollectionUpdateEventTest.java</exclude><!-- Only fails on CI (Travis) -->
</excludes>
<excludedGroups>org.hibernate.search.testsupport.junit.SkipOnElasticsearch,org.hibernate.search.testsupport.junit.ElasticsearchSupportInProgress</excludedGroups>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.github.alexcojocaru</groupId>
<artifactId>elasticsearch-maven-plugin</artifactId>
<configuration>
<clusterName>hsearch-es-test-cluster</clusterName>
<tcpPort>9300</tcpPort>
<httpPort>9200</httpPort>
<pluginsPath>${project.build.directory}/_ES_PLUGINS_</pluginsPath>
<outputDirectory>${project.build.directory}/elastisearchnode1</outputDirectory>
<configPath>${project.build.directory}/test-classes/elasticsearchconfiguration/</configPath>
</configuration>
<executions>
<execution>
<id>start-elasticsearch</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-elasticsearch</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>elasticsearch-2.0</id>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-es-plugins</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<!-- Delete-by-query is a plugin in Elasticsearch 2.x -->
<artifactItem>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>delete-by-query</artifactId>
<version>${testElasticsearchVersion}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/_ES_PLUGINS_/delete-by-query</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<!-- We must redeclare this plugin here, otherwise it will start before the plugins above are deployed -->
<plugin>
<groupId>com.github.alexcojocaru</groupId>
<artifactId>elasticsearch-maven-plugin</artifactId>
<dependencies>
<!-- Groovy is in a core module named "org.elasticsearch:elasticsearch-groovy" in Elasticsearch 2.0.x and 2.1.x
Also, in ES 2.0/2.1, core modules are not located in the plugin directory as with newer versions, but are
simply expected to be in the classpath.
-->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch-groovy</artifactId>
<version>${testElasticsearchVersion}</version>
<type>jar</type>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>elasticsearch-2.2</id>
<!-- Activation rules are not inherited from the profile definition in the parent, so we must copy them here -->
<activation>
<property>
<name>!testElasticsearchVersion</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-es-plugins</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<!-- Delete-by-query is a plugin in Elasticsearch 2.x -->
<artifactItem>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>delete-by-query</artifactId>
<version>${testElasticsearchVersion}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/_ES_PLUGINS_/delete-by-query</outputDirectory>
</artifactItem>
<!-- Groovy is in a plugin named "org.elasticsearch.module:lang-groovy" in Elasticsearch 2.2+ -->
<artifactItem>
<groupId>org.elasticsearch.module</groupId>
<artifactId>lang-groovy</artifactId>
<version>${testElasticsearchVersion}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/_ES_PLUGINS_/lang-groovy</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<!-- We must redeclare this plugin here, otherwise it will start before the plugins above are deployed -->
<plugin>
<groupId>com.github.alexcojocaru</groupId>
<artifactId>elasticsearch-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>