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>