From 2c331521755a34fc3b393e22774df5761336902e Mon Sep 17 00:00:00 2001 From: tsantalis Date: Sat, 6 Apr 2024 20:01:27 -0400 Subject: [PATCH] Add remaining test files for hibernate-search --- .../java/org/codetracker/util/OracleTest.java | 2 +- ...78035965d7588ad1d1ae522c4bafebd3a0e16.json | 2 +- .../impl/Elasticsearch2AnalyzerStrategy.java | 280 ++++++++ .../impl/StreamingOperationDispatcher.java | 58 ++ .../impl/batch/DefaultBatchBackend.java | 101 +++ .../search/bridge/builtin/ArrayBridge.java | 56 ++ .../bridge/util/impl/NumericFieldUtils.java | 171 +++++ .../search/engine/impl/TokenizerChain.java | 73 ++ .../search/spatial/impl/DistanceQuery.java | 267 +++++++ .../search/util/impl/ClassLoaderHelper.java | 334 +++++++++ .../hibernate/impl/FullTextQueryImpl.java | 665 ++++++++++++++++++ 11 files changed, 2007 insertions(+), 2 deletions(-) create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/Elasticsearch2AnalyzerStrategy.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/StreamingOperationDispatcher.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/batch/DefaultBatchBackend.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/builtin/ArrayBridge.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/util/impl/NumericFieldUtils.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/engine/impl/TokenizerChain.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/spatial/impl/DistanceQuery.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/util/impl/ClassLoaderHelper.java create mode 100644 src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/orm/src/main/java/org/hibernate/search/query/hibernate/impl/FullTextQueryImpl.java diff --git a/src/test/java/org/codetracker/util/OracleTest.java b/src/test/java/org/codetracker/util/OracleTest.java index ddf6df481d7..c27227d806e 100644 --- a/src/test/java/org/codetracker/util/OracleTest.java +++ b/src/test/java/org/codetracker/util/OracleTest.java @@ -64,7 +64,7 @@ protected static void loadExpected(String filePath) { public void testCodeTracker(CheckedBiFunction> tracker, H historyInfo, String fileName) throws Exception { String repositoryWebURL = historyInfo.getRepositoryWebURL(); //TODO temporary if check, remove when all local files are created - if(fileName.startsWith("checkstyle") || fileName.startsWith("commons-lang") || fileName.startsWith("flink") || fileName.startsWith("hibernate-orm") || fileName.startsWith("javaparser") || fileName.startsWith("jgit") || fileName.startsWith("junit") || + if(fileName.startsWith("checkstyle") || fileName.startsWith("commons-lang") || fileName.startsWith("flink") || fileName.startsWith("hibernate") || fileName.startsWith("javaparser") || fileName.startsWith("jgit") || fileName.startsWith("junit") || fileName.startsWith("okhttp") || fileName.startsWith("spring-framework") || fileName.startsWith("commons-io") || fileName.startsWith("elasticsearch") || fileName.startsWith("hadoop")) { HashMap oracleChanges = oracle(historyInfo.getExpectedChanges()); History history = tracker.apply(historyInfo, repositoryWebURL); diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16.json b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16.json index 3dfda680714..ac48117e00c 100644 --- a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16.json +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16.json @@ -1 +1 @@ -{"parentCommitId":"db78401f8577e5dd6caa89df67b690918b3c594b","currentCommitId":"5b778035965d7588ad1d1ae522c4bafebd3a0e16","filesBefore":[],"filesCurrent":[],"renamedFilesHint":{},"repositoryDirectoriesBefore":["engine/src/test/java/org/hibernate/search/test/query/serialization","elasticsearch-aws/src/main","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/spi","engine/src/main/java/org/hibernate/search/backend/impl/lucene/overrides","backends/jms/src/main/java/org","orm/src/test/java/org/hibernate/search/test/embedded/update","backends/jms/src/test/java/org/hibernate","integrationtest/jms/src","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps","integrationtest/performance/engine-lucene/src","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/backend","orm/src/main/java/org/hibernate/search/event/impl","integrationtest/jdk9-modules/src","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta","orm/src/main/java/org/hibernate/search/hcore/util","engine/src/main/java/org/hibernate/search/bridge/builtin/impl","integrationtest/jsr352/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java","orm/src/test/java/org/hibernate/search/test/engine/worker/duplication","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/builder","orm/src/test/java/org/hibernate/search/test/envers","integrationtest/jsr352/src/test/java/org","testing/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/transaction","orm/src/main/java/org/hibernate/search/orm/loading","engine/src/main/java/org/hibernate/search/engine/spi","serialization/avro/src/main/java/org/hibernate/search/indexes","elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/stat","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration","orm/src/main/java/org/hibernate/search/jpa","integrationtest/wildfly/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/backend/lucene","integrationtest/osgi/karaf-it/src/test","integrationtest/spring/src/test/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/spi","engine/src/test/java/org/hibernate/search/testsupport/optimizer","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/arquillian","orm/src/test/java/org/hibernate/search/test/id","engine/src/test/java/org/hibernate/search/test/fileleaks","backends/jgroups/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/impl","jsr352/core","engine/src/main/java/org/hibernate/search/spi/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/bridge","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/factory","orm/src/test/java/org/hibernate/search/test/filter/deprecated","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin","integrationtest/performance/engine-lucene/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org","engine/src/test/java/org/hibernate/search/test/spi","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/i18n","orm/src/main/java/org/hibernate/search/orm/jmx/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope","engine/src/main/java/org/hibernate/search/store","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration/osgi","build-config/src/main/java/org","orm/src/test/java/org/hibernate/search/test/batchindexing","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/util","jsr352/core/src/main/java","orm/src/test/java/org/hibernate/search/test/query/objectloading","engine/src/test/java/org/hibernate/search/test/dsl","orm/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/bridge/builtin","orm/src/test/java/org/hibernate/search/test/embedded/path/validation","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer","build-config/src/test/java/org/hibernate/checkstyle","engine/src/main/java/org/hibernate/search/backend/impl/batch","integrationtest/jms/src/test/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl","integrationtest/jms/src/test/java/org","integrationtest/jdk9-modules/src/main/java/org","orm/src/main/java/org/hibernate/search/query/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly","orm/src/test/java/org/hibernate/search/test/query/initandlookup","engine/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdefs","testing/src/main","elasticsearch/src/main","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet","elasticsearch-aws/src/main/java/org/hibernate/search","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/bridge","integrationtest/jdk9-modules/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/translation","engine/src/main/java/org/hibernate/search/engine/service/beanresolver","integrationtest/jdk9-modules/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa/impl","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/common","build-config/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch","build-config/src/main","jsr352/core/src/main/java/org/hibernate/search/jsr352/context","engine/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/bridge","engine/src/test/java/org/hibernate/search/testsupport/junit","orm/src/test/java/org/hibernate/search/test/configuration/norms","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism/uninitializedproxy","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/i18n","engine/src/test/java/org/hibernate/search/test/engine/numeric","engine/src/test/java/org/hibernate/search/test/sorting","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test","orm/src/main","backends/jms/src/test","orm/src/test/java/org/hibernate/search/test/embedded/fieldoncollection","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl","engine/src/test/java/org/hibernate/search/test/engine/typehandling","integrationtest/narayana/src/test","orm/src/test/java/org/hibernate/search/test/event","orm/src/test/java/org/hibernate/search/test/errorhandling","orm/src/test/java/org/hibernate/search/test/shards","backends/jms","integrationtest/elasticsearch/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/engine/service/spi","engine/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test/util","jsr352/core/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate","integrationtest/jsr352","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/slave","engine/src/test/java/org/hibernate/search/test/configuration/commitpolicy","elasticsearch-aws/src/main/java/org","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdef","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/spi","engine/src/main/java/org/hibernate/search/bridge/builtin/time/impl","orm/src/test/java/org/hibernate/search/test/jpa","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/optimizer","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/polymorphism","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work","engine/src/main/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/dao","backends/jms/src/main/java/org/hibernate","engine/src/main/java/org/hibernate/search/store/optimization","engine/src/test/java/org/hibernate/search/test/metadata","testing/src/main/java/org/hibernate","engine/src/test/java/org/hibernate/search/testsupport/textbuilder","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefs","engine/src/main/java/org/hibernate/search/analyzer/impl","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/stub","orm/src/main/java/org/hibernate/search/cfg","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging/impl","integrationtest/jms/src/test","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory/generated","engine/src/test/java/org/hibernate/search/test/errorhandling","engine/src/main/java/org/hibernate/search/backend/configuration/impl","integrationtest/elasticsearch/src/test","orm/src/test/java/org/hibernate/search/test/fieldAccess","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefinitionprovider","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition/impl","engine/src/main/java/org/hibernate/search/store/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil","integrationtest/osgi","engine","build-config/src/test/java/org/hibernate/checkstyle/checks","integrationtest/jsr352/src","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta","orm/src/main/java/org/hibernate/search/batchindexing/spi","build-config/src/main/java","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/massindexing","engine/src/main/java/org/hibernate/search/util/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans","orm/src/test/java/org/hibernate/search/test/backend","backends/jms/src/main/java/org/hibernate/search/backend","orm/src/test/java/org/hibernate/search/test/jmx","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/model","integrationtest/performance/sandbox/src/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/setuputilities","engine/src/main/java/org/hibernate/search/spatial/impl","integrationtest/spring/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/json","engine/src/main/java/org/hibernate/search/util/configuration","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/bridge","engine/src/main/java/org/hibernate/search/bridge/util/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject","serialization","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging","orm/src/main/java/org/hibernate/search/query","orm/src/test/java/org/hibernate/search/test/embedded/nested/containedIn","build-config/src/main/java/org/hibernate","integrationtest/performance/orm/src","integrationtest/narayana/src/test/java","engine/src/main/java/org/hibernate/search/reader/impl","integrationtest/jdk9-modules/src/main/java/org/hibernate","elasticsearch/src/test/java/org/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika","backends/jms/src/main/java/org/hibernate/search/backend/jms","elasticsearch/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/batchindexing","engine/src/main/java/org/hibernate/search/util/logging","backends/jms/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/bridge/time","engine/src/test/java/org/hibernate/search/test/sharding","integrationtest/wildfly","engine/src/main/java/org/hibernate/search/spi","orm/src/test/java","backends/jgroups/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/programmaticmapping","integrationtest/spring/src","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro","elasticsearch","jsr352/core/src/test/java/org/hibernate/search/jsr352","engine/src/main/java/org/hibernate/search/backend/configuration","orm/src/test/java/org/hibernate/search/test/util","jsr352/core/src/main","engine/src/main/java/org/hibernate/search/query/engine/spi","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdef","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/elasticsearch","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups/impl","backends/jgroups/src/test/java/org/hibernate","integrationtest/performance","integrationtest/performance/orm/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging/impl","orm/src/main/java/org/hibernate/search/orm","integrationtest/jms/src/test/java","testing","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/id","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/util","engine/src/test/java/org/hibernate/search/test/query/engine","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing","engine/src/test/java/org/hibernate/search/test/store","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/task","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/filter","engine/src/main/java/org/hibernate/search/engine/integration","engine/src/test/java/org/hibernate/search/test/bridge","engine/src/main/java/org/hibernate/search/engine/impl","engine/src/main/java/org/hibernate/search/backend/impl/blackhole","engine/src/main/java/org/hibernate/search/indexes/serialization/spi","integrationtest/jdk9-modules/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/sandbox/src/test/java/org/hibernate","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance","integrationtest/jdk9-modules/src/test/java/org/hibernate","orm/src/main/java/org/hibernate/search/orm/spi","jsr352/jberet/src/main","orm/src/test/java/org/hibernate/search/test/embedded/doubleinsert","engine/src/test/java/org/hibernate/search/test/facet","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi","orm/src/test/java/org/hibernate/search/test/filter","engine/src/main/java/org/hibernate/search/query/facet","orm/src/test/java/org/hibernate/search/test/query/nullValues","engine/src/main/java/org/hibernate/search/engine/metadata/impl","orm/src","elasticsearch/src/main/java/org/hibernate/search","serialization/avro/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/embedded/path/prefixed","integrationtest/performance/engine-elasticsearch/src/main/java","engine/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/controller","jsr352/jberet","backends/jms/src","orm/src/test/java/org/hibernate/search/test/id/withmeta","engine/src/test/java/org/hibernate/search/test/filters","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/util","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/nrt","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps","orm/src/main/java/org/hibernate/search/impl","orm/src/test/java/org/hibernate/search/test/embedded/nullindexed","orm/src/main/java/org/hibernate/search/batchindexing/impl","engine/src/main/java/org/hibernate/search/util/logging/impl","engine/src/test/java/org/hibernate/search/testsupport/indexmanager","orm/src/test/java/org/hibernate/search/test/embedded/path/id","orm/src/test/java/org/hibernate/search/test/engine/optimizations/mappedsuperclasscollection","serialization/avro/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition","engine/src/test/java/org/hibernate/search/test/engine","orm/src/test/java/org/hibernate/search/test/configuration","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/util","build-config/src/main/java/org/hibernate/checkstyle/checks/regexp","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/config","integrationtest/jdk9-modules/src/main/java/org/hibernate/search","integrationtest/performance/engine-elasticsearch/src/main","orm/src/test/java/org/hibernate/search/test/bridge/tika","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa","backends/jgroups/src/test","elasticsearch-aws","integrationtest/jms/src/test/java/org/hibernate/search/test/jms","orm/src/test/java/org/hibernate/search/test/query","jsr352/core/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/model","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/deletebyquery","orm/src/test/java/org/hibernate/search/test/event/autoindexembeddable","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","backends/jms/src/main/java","engine/src/test/java/org/hibernate/search/test/metadata/types","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/master","integrationtest/jms","backends/jgroups/src","jsr352/core/src/main/java/org","integrationtest/jsr352/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/configuration/bootstrapfailure","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging","integrationtest/performance/sandbox/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge","engine/src/main/java/org/hibernate/search/analyzer/definition/spi","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/reader","orm/src/test/java/org/hibernate/search/test/inheritance","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups","jsr352/core/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/embedded/path","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/jmx","engine/src/test/java/org/hibernate/search/test/backend","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring","engine/src/main/java/org/hibernate/search/bridge/builtin/time","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/integration","jsr352/jberet/src/main/java/org","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/util","jsr352/jberet/src/main/java/org/hibernate/search/jsr352","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es52","engine/src/main/java/org/hibernate/search/engine/service/named","engine/src/test/java/org/hibernate/search/test/dsl/embedded","orm/src/test/java/org/hibernate/search/test/embedded/path/defaultdepth","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es50","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl","integrationtest/jdk9-modules/src/main/java","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/afterchunk","jsr352/jberet/src","elasticsearch/src/test/java/org/hibernate/search","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/util","integrationtest/performance/engine-lucene","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging/impl","engine/src/test/java/org/hibernate/search/test/query","orm/src/main/java/org/hibernate/search/event","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query/impl","integrationtest/jdk9-modules/src/test/java/org","engine/src/main/java/org/hibernate/search/backend/impl/lucene","integrationtest/wildfly/src/test/java","orm/src/main/java/org/hibernate/search/query/hibernate/impl","orm/src/test/java/org/hibernate/search/test/embedded/graph","engine/src/main/java/org/hibernate/search/stat/impl","testing/src/main/java","build-config/src/main/java/org/hibernate/checkstyle","orm/src/test/java/org/hibernate/search/test/query/boost","jsr352/core/src/test/java/org","serialization/avro/src/test/java/org/hibernate/search/test","engine/src/main/java","engine/src/test/java/org/hibernate/search/test/id/providedId","backends/jgroups/src/test/java","engine/src/test/java/org/hibernate/search/test/analyzer","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups","orm/src/test/java/org/hibernate/search/test/embedded","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging/impl","integrationtest/performance/orm/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test","build-config/src/test","engine/src/test/java/org/hibernate/search/test/projection","testing/src/main/java/org/hibernate/search/test","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/service","elasticsearch/src/main/java","engine/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/reader/functionality","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time","orm/src/test/java/org/hibernate/search/test/compression","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/elasticsearch","elasticsearch-aws/src/main/java","engine/src/main/java/org/hibernate/search/metadata/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl/gson","engine/src/main/java/org/hibernate/search/indexes/serialization/impl","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/model","integrationtest/jdk9-modules/src/main","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/cmp","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/model","build-config/src/test/java/org","orm/src/test/java/org/hibernate/search/test/query/validation","orm/src/test/java/org/hibernate/search/test/spatial","engine/src/main/java/org/hibernate/search/engine/nulls/codec/impl","orm/src/test/java/org/hibernate/search/test/directoryProvider","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/filter","engine/src/main/java/org/hibernate/search/exception","orm/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/boost/embeddable","backends/jgroups/src/main","orm/src/test/java/org/hibernate/search/test/configuration/indexingStrategy","engine/src/test/java/org/hibernate/search/test/configuration/indexedembedded","integrationtest/elasticsearch/src/test/java/org","engine/src/main/java/org/hibernate/search/analyzer/spi","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/model","orm/src/test/java/org/hibernate/search/test/similarity","backends","engine/src/test/java/org/hibernate/search/test/id","orm/src/main/java/org/hibernate/search/hcore/impl","orm/src/test/java/org/hibernate/search/test/reader","engine/src/main/java/org/hibernate/search/util/jmx/impl","integrationtest/performance/sandbox","engine/src/main/java/org/hibernate/search/util/configuration/impl","integrationtest/osgi/karaf-it/src/test/java/org","engine/src/main/java/org/hibernate/search/engine/service/named/impl","engine/src/main/java/org/hibernate/search/engine/service/impl","integrationtest/spring/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/analyzer","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/impl","serialization/avro/src/main","engine/src/main/java/org/hibernate/search/cfg","backends/jms/src/test/java/org","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/client","engine/src/main/java/org/hibernate/search/backend/impl/lucene/analysis","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/controller","backends/jms/src/main/java/org/hibernate/search","integrationtest/wildfly/src","jsr352","orm/src/test/java/org/hibernate/search/test/embedded/fieldbridgeonlazyfield","backends/jgroups/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/statistics","integrationtest/spring/src/test/java/org","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch","integrationtest/performance/engine-elasticsearch","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/beforechunk","serialization/avro/src/main/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema","engine/src/main/java/org/hibernate/search/query/engine/impl","orm/src/test/java/org/hibernate/search/test/configuration/field","backends/jgroups/src/main/java/org/hibernate","backends/jms/src/test/java/org/hibernate/search/backend/jms","integrationtest/jdk9-modules","integrationtest/spring","integrationtest/performance/orm/src/test/java/org/hibernate/search/test","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance","orm/src/test/java/org/hibernate/search/test/bridge/bigdecimal","engine/src/main/java/org/hibernate/search/query/dsl","engine/src/main/java/org/hibernate/search/query/dsl/sort","jsr352/core/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/sorting","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/scenario","engine/src/main/java/org/hibernate/search/engine/nesting","integrationtest/narayana/src","jsr352/core/src/main/java/org/hibernate/search/jsr352","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/event","engine/src/main/java/org/hibernate/search/backend/impl/lucene/works","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/model","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/model","backends/jms/src/main/java/org/hibernate/search/backend/jms/spi","engine/src/main/java/org/hibernate/search/metadata","engine/src/test/java/org/hibernate/search/test/util/logging","integrationtest/performance/engine-elasticsearch/src/main/java/org","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing","engine/src/main/java/org/hibernate/search/bridge/spi","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta/infra","integrationtest/narayana/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/query/engine","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/impl","build-config/src/main/java/org/hibernate/checkstyle/checks","integrationtest/osgi/karaf-it/src/test/java/org/hibernate","integrationtest/performance/orm/src/test","orm/src/main/java/org/hibernate/search/cfg/impl","elasticsearch/src/test","backends/jms/src/main/java/org/hibernate/search/backend/impl/jms","engine/src/test/java/org/hibernate/search/test/configuration/sharding","backends/jgroups/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/entity","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil/junit","engine/src/test/java/org/hibernate/search/test/bridge/builtin","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/model","engine/src/main/java/org/hibernate/search/stat/spi","engine/src/main/java/org/hibernate/search/indexes/serialization","backends/jgroups/src/main/java","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups","integrationtest/jsr352/src/test","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/client","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/datasets","orm/src/test/java/org/hibernate/search/test/embedded/path/renamed","orm/src/test/java/org/hibernate/search/test/reader/nrtreaders","orm/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search","serialization/avro/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time/impl","engine/src/main/java/org/hibernate/search/engine","engine/src/test/java/org/hibernate/search/testsupport/setup","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope/spi","engine/src/test/java/org/hibernate/search/test/analyzer/common","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory","build-config","orm/src/test/java/org/hibernate/search/test/bridge/provider","orm/src/test/java/org/hibernate/search/test/query/criteria","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test","integrationtest/spring/src/test/java/org/hibernate","build-config/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl","elasticsearch/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/backend/spi","jsr352/jberet/src/main/java/org/hibernate","integrationtest/spring/src/test","orm/src/test/java/org/hibernate/search/test/embedded/depth","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor/impl","backends/jms/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/configuration","jsr352/core/src/test/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/proxy","orm/src/test/java/org/hibernate","backends/jgroups/src/main/java/org/hibernate/search/backend","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/spi","orm/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/engine/nulls/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading/spi","orm/src/test/java/org/hibernate/search/test/util/progessmonitor","engine/src/main/java/org/hibernate/search/filter/impl","engine/src/main/java/org/hibernate/search/indexes/spi","orm/src/test/java/org/hibernate/search/test/embedded/path/simple","engine/src/main/java/org/hibernate/search/bridge/util","engine/src/main/java/org/hibernate/search/cfg/spi/impl","integrationtest/narayana","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance","orm/src/main/java/org","orm","orm/src/main/java","engine/src/main/java/org/hibernate/search/indexes","integrationtest/elasticsearch","engine/src/main/java/org/hibernate/search/engine/service/classloading/impl","engine/src/main/java/org/hibernate/search/reader","engine/src/test/java/org","testing/src/main/java/org/hibernate/search/test/util","integrationtest/performance/orm","serialization/avro/src/main/java/org/hibernate/search","jsr352/core/src/test","engine/src/test/java/org/hibernate/search/testsupport/leakdetection","engine/src/test/java/org/hibernate/search/testsupport/serialization","engine/src/main/java/org/hibernate/search/bridge/impl","orm/src/test/java/org/hibernate/search/test/engine","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/model","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism","integrationtest/performance/engine-lucene/src/main/java/org","serialization/avro/src/test/java/org/hibernate","integrationtest/osgi/karaf-it/src","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/impl","serialization/avro/src/test/java/org","orm/src/test/java/org/hibernate/search/test/engine/optimizations","integrationtest/jms/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/search","engine/src/main/java/org/hibernate/search/engine/nulls","engine/src/main/java/org/hibernate/search/jmx","engine/src/main/java/org/hibernate/search/util/jmx","engine/src/main/java/org/hibernate/search/spatial","engine/src/main/java/org/hibernate/search/engine/service/named/spi","engine/src/main/java/org/hibernate/search/query/dsl/sort/impl","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration/jdk9_modules","orm/src/test/java/org/hibernate/search/test/query/facet","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/impl","orm/src/main/java/org/hibernate/search/hcore/spi","serialization/avro/src/test/java/org/hibernate/search","serialization/avro/src/test","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/controller","orm/src/main/java/org/hibernate","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/setuputilities","orm/src/main/java/org/hibernate/search/orm/loading/impl","build-config/src","engine/src/test/java/org/hibernate/search/test/analyzer/inheritance","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl","orm/src/test/java/org/hibernate/search/test/embedded/sorting","engine/src/main/java/org/hibernate/search/store/optimization/impl","backends/jms/src/main/java/org/hibernate/search/backend/jms/impl","engine/src/test/java/org/hibernate/search/test/searchfactory","integrationtest/narayana/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352","backends/jgroups/src/main/java/org/hibernate/search","build-config/src/main/java/org/hibernate/checkstyle/filters","integrationtest/jsr352/src/test/java","serialization/avro/src/test/java/org/hibernate/search/test/serialization","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/slave","orm/src/test/java/org/hibernate/search/test/event/update","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson/impl","engine/src/test/java/org/hibernate/search/testsupport/readerprovider","engine/src/main/java/org/hibernate/search/engine/integration/impl","serialization/avro/src/main/java/org","backends/jgroups","backends/jms/src/main/java/org/hibernate/search/backend/impl","jsr352/jberet/src/main/java/org/hibernate/search","backends/jgroups/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/query/explain","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl","engine/src/test/java/org/hibernate/search/test/backend/serialization","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352","integrationtest/performance/orm/src/test/java","engine/src/test/java","engine/src/main/java/org/hibernate/search/indexes/impl","integrationtest/performance/engine-elasticsearch/src","orm/src/main/java/org/hibernate/search/hcore/util/impl","engine/src/main/java/org/hibernate/search/cfg/spi","integrationtest/wildfly/src/test","orm/src/test/java/org/hibernate/search/test/configuration/integration","orm/src/test/java/org/hibernate/search/test/interceptor","jsr352/jberet/src/main/java","orm/src/test/java/org/hibernate/search/test/bridge","orm/src/test/java/org/hibernate/search/test/engine/indexapi","engine/src/main/java/org/hibernate/search/analyzer/definition/impl","backends/jms/src/test/java","engine/src/test/java/org/hibernate/search/test/indexmanager","engine/src/main/java/org/hibernate/search/filter","integrationtest/jms/src/test/java/org/hibernate","integrationtest/elasticsearch/src/test/java","engine/src/test/java/org/hibernate/search/testsupport/backend","elasticsearch/src/test/java","integrationtest/elasticsearch/src","engine/src/test/java/org/hibernate/search/test/analyzer/definition","orm/src/test/java/org/hibernate/search/test/embedded/nested","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","engine/src/main/java/org/hibernate/search/exception/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es2","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/spi","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/impl","engine/src/main/java/org/hibernate/search/store/spi","integrationtest/performance/engine-lucene/src/main","orm/src/test/java/org/hibernate/search/test/embedded/path/multiple","elasticsearch/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec/impl","integrationtest/performance/sandbox/src/test/java","orm/src/test","orm/src/test/java/org/hibernate/search/test/engine/worker","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/indexes","orm/src/main/java/org/hibernate/search/batchindexing","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging","orm/src/test/java/org/hibernate/search/test/engine/optimizations/deletebyterm","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/model","orm/src/main/java/org/hibernate/search/hcore","engine/src/main","orm/src/test/java/org/hibernate/search/test/concurrency","elasticsearch-aws/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/backend","engine/src/main/java/org/hibernate/search/engine/nesting/impl","orm/src/test/java/org/hibernate/search/test/query/objectloading/mixedhierarchy","backends/jms/src/test/java/org/hibernate/search/backend/jms/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/common","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/impl","build-config/src/test/java/org/hibernate/checkstyle/checks/regexp","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/master","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene","orm/src/test/java/org/hibernate/search/test/query/timeout","integrationtest/wildfly/src/test/java/org","elasticsearch/src/test/java/org","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/util","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/model","testing/src/main/java/org/hibernate/search","integrationtest/performance/engine-lucene/src/main/java","engine/src/main/java/org/hibernate/search/engine/metadata","engine/src/test/java/org/hibernate/search/test/bridge/util","orm/src/test/java/org/hibernate/search/test/embedded/path/depth","orm/src/main/java/org/hibernate/search/orm/jmx","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules","integrationtest/narayana/src/test/java/org/hibernate/search/test","jsr352/core/src","integrationtest/elasticsearch/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/session","engine/src/test/java/org/hibernate/search/testsupport/analyzer","engine/src/main/java/org/hibernate/search/analyzer/definition","serialization/avro","engine/src/main/java/org/hibernate/search/util","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/query","serialization/avro/src/main/java","engine/src/main/java/org/hibernate/search/query/dsl/impl","engine/src/test/java/org/hibernate/search/test/util/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/cfg","integrationtest/narayana/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/engine/nulls/codec","integrationtest/performance/orm/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/util","backends/jms/src/main","integrationtest/wildfly/src/test/java/org/hibernate/search/test","jsr352/core/src/test/java/org/hibernate/search/jsr352/test/util","engine/src/main/java/org/hibernate/search/engine/service","integrationtest","engine/src/main/java/org/hibernate/search/annotations","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport/concurrency","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing","engine/src/main/java/org/hibernate/search/indexes/interceptor","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jgroups","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/model","testing/src/main/java/org","engine/src/main/java/org/hibernate/search/backend/impl","engine/src/test/java/org/hibernate/search/test/engine/service","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test","elasticsearch-aws/src/main/java/org/hibernate"],"repositoryDirectoriesCurrent":["engine/src/test/java/org/hibernate/search/test/query/serialization","elasticsearch-aws/src/main","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/spi","engine/src/main/java/org/hibernate/search/backend/impl/lucene/overrides","backends/jms/src/main/java/org","orm/src/test/java/org/hibernate/search/test/embedded/update","backends/jms/src/test/java/org/hibernate","integrationtest/jms/src","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps","integrationtest/performance/engine-lucene/src","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/backend","orm/src/main/java/org/hibernate/search/event/impl","integrationtest/jdk9-modules/src","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta","orm/src/main/java/org/hibernate/search/hcore/util","engine/src/main/java/org/hibernate/search/bridge/builtin/impl","integrationtest/jsr352/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java","orm/src/test/java/org/hibernate/search/test/engine/worker/duplication","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/builder","orm/src/test/java/org/hibernate/search/test/envers","integrationtest/jsr352/src/test/java/org","testing/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/transaction","orm/src/main/java/org/hibernate/search/orm/loading","engine/src/main/java/org/hibernate/search/engine/spi","serialization/avro/src/main/java/org/hibernate/search/indexes","elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/stat","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration","orm/src/main/java/org/hibernate/search/jpa","integrationtest/wildfly/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/backend/lucene","integrationtest/osgi/karaf-it/src/test","integrationtest/spring/src/test/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/spi","engine/src/test/java/org/hibernate/search/testsupport/optimizer","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/arquillian","orm/src/test/java/org/hibernate/search/test/id","engine/src/test/java/org/hibernate/search/test/fileleaks","backends/jgroups/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/impl","jsr352/core","engine/src/main/java/org/hibernate/search/spi/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/bridge","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/factory","orm/src/test/java/org/hibernate/search/test/filter/deprecated","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin","integrationtest/performance/engine-lucene/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org","engine/src/test/java/org/hibernate/search/test/spi","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/i18n","orm/src/main/java/org/hibernate/search/orm/jmx/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope","engine/src/main/java/org/hibernate/search/store","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration/osgi","build-config/src/main/java/org","orm/src/test/java/org/hibernate/search/test/batchindexing","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/util","jsr352/core/src/main/java","orm/src/test/java/org/hibernate/search/test/query/objectloading","engine/src/test/java/org/hibernate/search/test/dsl","orm/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/bridge/builtin","orm/src/test/java/org/hibernate/search/test/embedded/path/validation","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer","build-config/src/test/java/org/hibernate/checkstyle","engine/src/main/java/org/hibernate/search/backend/impl/batch","integrationtest/jms/src/test/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl","integrationtest/jms/src/test/java/org","integrationtest/jdk9-modules/src/main/java/org","orm/src/main/java/org/hibernate/search/query/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly","orm/src/test/java/org/hibernate/search/test/query/initandlookup","engine/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdefs","testing/src/main","elasticsearch/src/main","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet","elasticsearch-aws/src/main/java/org/hibernate/search","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/bridge","integrationtest/jdk9-modules/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/translation","engine/src/main/java/org/hibernate/search/engine/service/beanresolver","integrationtest/jdk9-modules/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa/impl","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/common","build-config/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch","build-config/src/main","jsr352/core/src/main/java/org/hibernate/search/jsr352/context","engine/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/bridge","engine/src/test/java/org/hibernate/search/testsupport/junit","orm/src/test/java/org/hibernate/search/test/configuration/norms","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism/uninitializedproxy","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/i18n","engine/src/test/java/org/hibernate/search/test/engine/numeric","engine/src/test/java/org/hibernate/search/test/sorting","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test","orm/src/main","backends/jms/src/test","orm/src/test/java/org/hibernate/search/test/embedded/fieldoncollection","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl","engine/src/test/java/org/hibernate/search/test/engine/typehandling","integrationtest/narayana/src/test","orm/src/test/java/org/hibernate/search/test/event","orm/src/test/java/org/hibernate/search/test/errorhandling","orm/src/test/java/org/hibernate/search/test/shards","backends/jms","integrationtest/elasticsearch/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/engine/service/spi","engine/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test/util","jsr352/core/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate","integrationtest/jsr352","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/slave","engine/src/test/java/org/hibernate/search/test/configuration/commitpolicy","elasticsearch-aws/src/main/java/org","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdef","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/spi","engine/src/main/java/org/hibernate/search/bridge/builtin/time/impl","orm/src/test/java/org/hibernate/search/test/jpa","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/optimizer","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/polymorphism","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work","engine/src/main/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/dao","backends/jms/src/main/java/org/hibernate","engine/src/main/java/org/hibernate/search/store/optimization","engine/src/test/java/org/hibernate/search/test/metadata","testing/src/main/java/org/hibernate","engine/src/test/java/org/hibernate/search/testsupport/textbuilder","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefs","engine/src/main/java/org/hibernate/search/analyzer/impl","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/stub","orm/src/main/java/org/hibernate/search/cfg","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging/impl","integrationtest/jms/src/test","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory/generated","engine/src/test/java/org/hibernate/search/test/errorhandling","engine/src/main/java/org/hibernate/search/backend/configuration/impl","integrationtest/elasticsearch/src/test","orm/src/test/java/org/hibernate/search/test/fieldAccess","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefinitionprovider","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition/impl","engine/src/main/java/org/hibernate/search/store/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil","integrationtest/osgi","engine","build-config/src/test/java/org/hibernate/checkstyle/checks","integrationtest/jsr352/src","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta","orm/src/main/java/org/hibernate/search/batchindexing/spi","build-config/src/main/java","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/massindexing","engine/src/main/java/org/hibernate/search/util/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans","orm/src/test/java/org/hibernate/search/test/backend","backends/jms/src/main/java/org/hibernate/search/backend","orm/src/test/java/org/hibernate/search/test/jmx","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/model","integrationtest/performance/sandbox/src/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/setuputilities","engine/src/main/java/org/hibernate/search/spatial/impl","integrationtest/spring/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/json","engine/src/main/java/org/hibernate/search/util/configuration","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/bridge","engine/src/main/java/org/hibernate/search/bridge/util/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject","serialization","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging","orm/src/main/java/org/hibernate/search/query","orm/src/test/java/org/hibernate/search/test/embedded/nested/containedIn","build-config/src/main/java/org/hibernate","integrationtest/performance/orm/src","integrationtest/narayana/src/test/java","engine/src/main/java/org/hibernate/search/reader/impl","integrationtest/jdk9-modules/src/main/java/org/hibernate","elasticsearch/src/test/java/org/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika","backends/jms/src/main/java/org/hibernate/search/backend/jms","elasticsearch/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/batchindexing","engine/src/main/java/org/hibernate/search/util/logging","backends/jms/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/bridge/time","engine/src/test/java/org/hibernate/search/test/sharding","integrationtest/wildfly","engine/src/main/java/org/hibernate/search/spi","orm/src/test/java","backends/jgroups/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/programmaticmapping","integrationtest/spring/src","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro","elasticsearch","jsr352/core/src/test/java/org/hibernate/search/jsr352","engine/src/main/java/org/hibernate/search/backend/configuration","orm/src/test/java/org/hibernate/search/test/util","jsr352/core/src/main","engine/src/main/java/org/hibernate/search/query/engine/spi","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdef","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/elasticsearch","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups/impl","backends/jgroups/src/test/java/org/hibernate","integrationtest/performance","integrationtest/performance/orm/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging/impl","orm/src/main/java/org/hibernate/search/orm","integrationtest/jms/src/test/java","testing","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/id","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/util","engine/src/test/java/org/hibernate/search/test/query/engine","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing","engine/src/test/java/org/hibernate/search/test/store","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/task","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/filter","engine/src/main/java/org/hibernate/search/engine/integration","engine/src/test/java/org/hibernate/search/test/bridge","engine/src/main/java/org/hibernate/search/engine/impl","engine/src/main/java/org/hibernate/search/backend/impl/blackhole","engine/src/main/java/org/hibernate/search/indexes/serialization/spi","integrationtest/jdk9-modules/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/sandbox/src/test/java/org/hibernate","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance","integrationtest/jdk9-modules/src/test/java/org/hibernate","orm/src/main/java/org/hibernate/search/orm/spi","jsr352/jberet/src/main","orm/src/test/java/org/hibernate/search/test/embedded/doubleinsert","engine/src/test/java/org/hibernate/search/test/facet","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi","orm/src/test/java/org/hibernate/search/test/filter","engine/src/main/java/org/hibernate/search/query/facet","orm/src/test/java/org/hibernate/search/test/query/nullValues","engine/src/main/java/org/hibernate/search/engine/metadata/impl","orm/src","elasticsearch/src/main/java/org/hibernate/search","serialization/avro/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/embedded/path/prefixed","integrationtest/performance/engine-elasticsearch/src/main/java","engine/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/controller","jsr352/jberet","backends/jms/src","orm/src/test/java/org/hibernate/search/test/id/withmeta","engine/src/test/java/org/hibernate/search/test/filters","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/util","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/nrt","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps","orm/src/main/java/org/hibernate/search/impl","orm/src/test/java/org/hibernate/search/test/embedded/nullindexed","orm/src/main/java/org/hibernate/search/batchindexing/impl","engine/src/main/java/org/hibernate/search/util/logging/impl","engine/src/test/java/org/hibernate/search/testsupport/indexmanager","orm/src/test/java/org/hibernate/search/test/embedded/path/id","orm/src/test/java/org/hibernate/search/test/engine/optimizations/mappedsuperclasscollection","serialization/avro/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition","engine/src/test/java/org/hibernate/search/test/engine","orm/src/test/java/org/hibernate/search/test/configuration","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/util","build-config/src/main/java/org/hibernate/checkstyle/checks/regexp","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/config","integrationtest/jdk9-modules/src/main/java/org/hibernate/search","integrationtest/performance/engine-elasticsearch/src/main","orm/src/test/java/org/hibernate/search/test/bridge/tika","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa","backends/jgroups/src/test","elasticsearch-aws","integrationtest/jms/src/test/java/org/hibernate/search/test/jms","orm/src/test/java/org/hibernate/search/test/query","jsr352/core/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/model","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/deletebyquery","orm/src/test/java/org/hibernate/search/test/event/autoindexembeddable","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","backends/jms/src/main/java","engine/src/test/java/org/hibernate/search/test/metadata/types","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/master","integrationtest/jms","backends/jgroups/src","jsr352/core/src/main/java/org","integrationtest/jsr352/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/configuration/bootstrapfailure","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging","integrationtest/performance/sandbox/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge","engine/src/main/java/org/hibernate/search/analyzer/definition/spi","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/reader","orm/src/test/java/org/hibernate/search/test/inheritance","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups","jsr352/core/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/embedded/path","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/jmx","engine/src/test/java/org/hibernate/search/test/backend","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring","engine/src/main/java/org/hibernate/search/bridge/builtin/time","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/integration","jsr352/jberet/src/main/java/org","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/util","jsr352/jberet/src/main/java/org/hibernate/search/jsr352","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es52","engine/src/main/java/org/hibernate/search/engine/service/named","engine/src/test/java/org/hibernate/search/test/dsl/embedded","orm/src/test/java/org/hibernate/search/test/embedded/path/defaultdepth","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es50","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl","integrationtest/jdk9-modules/src/main/java","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/afterchunk","jsr352/jberet/src","elasticsearch/src/test/java/org/hibernate/search","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/util","integrationtest/performance/engine-lucene","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging/impl","engine/src/test/java/org/hibernate/search/test/query","orm/src/main/java/org/hibernate/search/event","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query/impl","integrationtest/jdk9-modules/src/test/java/org","engine/src/main/java/org/hibernate/search/backend/impl/lucene","integrationtest/wildfly/src/test/java","orm/src/main/java/org/hibernate/search/query/hibernate/impl","orm/src/test/java/org/hibernate/search/test/embedded/graph","engine/src/main/java/org/hibernate/search/stat/impl","testing/src/main/java","build-config/src/main/java/org/hibernate/checkstyle","orm/src/test/java/org/hibernate/search/test/query/boost","jsr352/core/src/test/java/org","serialization/avro/src/test/java/org/hibernate/search/test","engine/src/main/java","engine/src/test/java/org/hibernate/search/test/id/providedId","backends/jgroups/src/test/java","engine/src/test/java/org/hibernate/search/test/analyzer","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups","orm/src/test/java/org/hibernate/search/test/embedded","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging/impl","integrationtest/performance/orm/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test","build-config/src/test","engine/src/test/java/org/hibernate/search/test/projection","testing/src/main/java/org/hibernate/search/test","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/service","elasticsearch/src/main/java","engine/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/reader/functionality","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time","orm/src/test/java/org/hibernate/search/test/compression","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/elasticsearch","elasticsearch-aws/src/main/java","engine/src/main/java/org/hibernate/search/metadata/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl/gson","engine/src/main/java/org/hibernate/search/indexes/serialization/impl","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/model","integrationtest/jdk9-modules/src/main","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/cmp","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/model","build-config/src/test/java/org","orm/src/test/java/org/hibernate/search/test/query/validation","orm/src/test/java/org/hibernate/search/test/spatial","engine/src/main/java/org/hibernate/search/engine/nulls/codec/impl","orm/src/test/java/org/hibernate/search/test/directoryProvider","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/filter","engine/src/main/java/org/hibernate/search/exception","orm/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/boost/embeddable","backends/jgroups/src/main","orm/src/test/java/org/hibernate/search/test/configuration/indexingStrategy","engine/src/test/java/org/hibernate/search/test/configuration/indexedembedded","integrationtest/elasticsearch/src/test/java/org","engine/src/main/java/org/hibernate/search/analyzer/spi","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/model","orm/src/test/java/org/hibernate/search/test/similarity","backends","engine/src/test/java/org/hibernate/search/test/id","orm/src/main/java/org/hibernate/search/hcore/impl","orm/src/test/java/org/hibernate/search/test/reader","engine/src/main/java/org/hibernate/search/util/jmx/impl","integrationtest/performance/sandbox","engine/src/main/java/org/hibernate/search/util/configuration/impl","integrationtest/osgi/karaf-it/src/test/java/org","engine/src/main/java/org/hibernate/search/engine/service/named/impl","engine/src/main/java/org/hibernate/search/engine/service/impl","integrationtest/spring/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/analyzer","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/impl","serialization/avro/src/main","engine/src/main/java/org/hibernate/search/cfg","backends/jms/src/test/java/org","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/client","engine/src/main/java/org/hibernate/search/backend/impl/lucene/analysis","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/controller","backends/jms/src/main/java/org/hibernate/search","integrationtest/wildfly/src","jsr352","orm/src/test/java/org/hibernate/search/test/embedded/fieldbridgeonlazyfield","backends/jgroups/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/statistics","integrationtest/spring/src/test/java/org","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch","integrationtest/performance/engine-elasticsearch","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/beforechunk","serialization/avro/src/main/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema","engine/src/main/java/org/hibernate/search/query/engine/impl","orm/src/test/java/org/hibernate/search/test/configuration/field","backends/jgroups/src/main/java/org/hibernate","backends/jms/src/test/java/org/hibernate/search/backend/jms","integrationtest/jdk9-modules","integrationtest/spring","integrationtest/performance/orm/src/test/java/org/hibernate/search/test","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance","orm/src/test/java/org/hibernate/search/test/bridge/bigdecimal","engine/src/main/java/org/hibernate/search/query/dsl","engine/src/main/java/org/hibernate/search/query/dsl/sort","jsr352/core/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/sorting","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/scenario","engine/src/main/java/org/hibernate/search/engine/nesting","integrationtest/narayana/src","jsr352/core/src/main/java/org/hibernate/search/jsr352","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/event","engine/src/main/java/org/hibernate/search/backend/impl/lucene/works","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/model","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/model","backends/jms/src/main/java/org/hibernate/search/backend/jms/spi","engine/src/main/java/org/hibernate/search/metadata","engine/src/test/java/org/hibernate/search/test/util/logging","integrationtest/performance/engine-elasticsearch/src/main/java/org","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing","engine/src/main/java/org/hibernate/search/bridge/spi","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta/infra","integrationtest/narayana/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/query/engine","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/impl","build-config/src/main/java/org/hibernate/checkstyle/checks","integrationtest/osgi/karaf-it/src/test/java/org/hibernate","integrationtest/performance/orm/src/test","orm/src/main/java/org/hibernate/search/cfg/impl","elasticsearch/src/test","backends/jms/src/main/java/org/hibernate/search/backend/impl/jms","engine/src/test/java/org/hibernate/search/test/configuration/sharding","backends/jgroups/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/entity","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil/junit","engine/src/test/java/org/hibernate/search/test/bridge/builtin","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/model","engine/src/main/java/org/hibernate/search/stat/spi","engine/src/main/java/org/hibernate/search/indexes/serialization","backends/jgroups/src/main/java","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups","integrationtest/jsr352/src/test","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/client","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/datasets","orm/src/test/java/org/hibernate/search/test/embedded/path/renamed","orm/src/test/java/org/hibernate/search/test/reader/nrtreaders","orm/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search","serialization/avro/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time/impl","engine/src/main/java/org/hibernate/search/engine","engine/src/test/java/org/hibernate/search/testsupport/setup","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope/spi","engine/src/test/java/org/hibernate/search/test/analyzer/common","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory","build-config","orm/src/test/java/org/hibernate/search/test/bridge/provider","orm/src/test/java/org/hibernate/search/test/query/criteria","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test","integrationtest/spring/src/test/java/org/hibernate","build-config/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl","elasticsearch/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/backend/spi","jsr352/jberet/src/main/java/org/hibernate","integrationtest/spring/src/test","orm/src/test/java/org/hibernate/search/test/embedded/depth","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor/impl","backends/jms/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/configuration","jsr352/core/src/test/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/proxy","orm/src/test/java/org/hibernate","backends/jgroups/src/main/java/org/hibernate/search/backend","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/spi","orm/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/engine/nulls/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading/spi","orm/src/test/java/org/hibernate/search/test/util/progessmonitor","engine/src/main/java/org/hibernate/search/filter/impl","engine/src/main/java/org/hibernate/search/indexes/spi","orm/src/test/java/org/hibernate/search/test/embedded/path/simple","engine/src/main/java/org/hibernate/search/bridge/util","engine/src/main/java/org/hibernate/search/cfg/spi/impl","integrationtest/narayana","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance","orm/src/main/java/org","orm","orm/src/main/java","engine/src/main/java/org/hibernate/search/indexes","integrationtest/elasticsearch","engine/src/main/java/org/hibernate/search/engine/service/classloading/impl","engine/src/main/java/org/hibernate/search/reader","engine/src/test/java/org","testing/src/main/java/org/hibernate/search/test/util","integrationtest/performance/orm","serialization/avro/src/main/java/org/hibernate/search","jsr352/core/src/test","engine/src/test/java/org/hibernate/search/testsupport/leakdetection","engine/src/test/java/org/hibernate/search/testsupport/serialization","engine/src/main/java/org/hibernate/search/bridge/impl","orm/src/test/java/org/hibernate/search/test/engine","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/model","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism","integrationtest/performance/engine-lucene/src/main/java/org","serialization/avro/src/test/java/org/hibernate","integrationtest/osgi/karaf-it/src","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/impl","serialization/avro/src/test/java/org","orm/src/test/java/org/hibernate/search/test/engine/optimizations","integrationtest/jms/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/search","engine/src/main/java/org/hibernate/search/engine/nulls","engine/src/main/java/org/hibernate/search/jmx","engine/src/main/java/org/hibernate/search/util/jmx","engine/src/main/java/org/hibernate/search/spatial","engine/src/main/java/org/hibernate/search/engine/service/named/spi","engine/src/main/java/org/hibernate/search/query/dsl/sort/impl","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration/jdk9_modules","orm/src/test/java/org/hibernate/search/test/query/facet","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/impl","orm/src/main/java/org/hibernate/search/hcore/spi","serialization/avro/src/test/java/org/hibernate/search","serialization/avro/src/test","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/controller","orm/src/main/java/org/hibernate","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/setuputilities","orm/src/main/java/org/hibernate/search/orm/loading/impl","build-config/src","engine/src/test/java/org/hibernate/search/test/analyzer/inheritance","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl","orm/src/test/java/org/hibernate/search/test/embedded/sorting","engine/src/main/java/org/hibernate/search/store/optimization/impl","backends/jms/src/main/java/org/hibernate/search/backend/jms/impl","engine/src/test/java/org/hibernate/search/test/searchfactory","integrationtest/narayana/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352","backends/jgroups/src/main/java/org/hibernate/search","build-config/src/main/java/org/hibernate/checkstyle/filters","integrationtest/jsr352/src/test/java","serialization/avro/src/test/java/org/hibernate/search/test/serialization","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/slave","orm/src/test/java/org/hibernate/search/test/event/update","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson/impl","engine/src/test/java/org/hibernate/search/testsupport/readerprovider","engine/src/main/java/org/hibernate/search/engine/integration/impl","serialization/avro/src/main/java/org","backends/jgroups","backends/jms/src/main/java/org/hibernate/search/backend/impl","jsr352/jberet/src/main/java/org/hibernate/search","backends/jgroups/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/query/explain","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl","engine/src/test/java/org/hibernate/search/test/backend/serialization","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352","integrationtest/performance/orm/src/test/java","engine/src/test/java","engine/src/main/java/org/hibernate/search/indexes/impl","integrationtest/performance/engine-elasticsearch/src","orm/src/main/java/org/hibernate/search/hcore/util/impl","engine/src/main/java/org/hibernate/search/cfg/spi","integrationtest/wildfly/src/test","orm/src/test/java/org/hibernate/search/test/configuration/integration","orm/src/test/java/org/hibernate/search/test/interceptor","jsr352/jberet/src/main/java","orm/src/test/java/org/hibernate/search/test/bridge","orm/src/test/java/org/hibernate/search/test/engine/indexapi","engine/src/main/java/org/hibernate/search/analyzer/definition/impl","backends/jms/src/test/java","engine/src/test/java/org/hibernate/search/test/indexmanager","engine/src/main/java/org/hibernate/search/filter","integrationtest/jms/src/test/java/org/hibernate","integrationtest/elasticsearch/src/test/java","engine/src/test/java/org/hibernate/search/testsupport/backend","elasticsearch/src/test/java","integrationtest/elasticsearch/src","engine/src/test/java/org/hibernate/search/test/analyzer/definition","orm/src/test/java/org/hibernate/search/test/embedded/nested","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","engine/src/main/java/org/hibernate/search/exception/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es2","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/spi","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/impl","engine/src/main/java/org/hibernate/search/store/spi","integrationtest/performance/engine-lucene/src/main","orm/src/test/java/org/hibernate/search/test/embedded/path/multiple","elasticsearch/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec/impl","integrationtest/performance/sandbox/src/test/java","orm/src/test","orm/src/test/java/org/hibernate/search/test/engine/worker","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/indexes","orm/src/main/java/org/hibernate/search/batchindexing","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging","orm/src/test/java/org/hibernate/search/test/engine/optimizations/deletebyterm","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/model","orm/src/main/java/org/hibernate/search/hcore","engine/src/main","orm/src/test/java/org/hibernate/search/test/concurrency","elasticsearch-aws/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/backend","engine/src/main/java/org/hibernate/search/engine/nesting/impl","orm/src/test/java/org/hibernate/search/test/query/objectloading/mixedhierarchy","backends/jms/src/test/java/org/hibernate/search/backend/jms/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/common","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/impl","build-config/src/test/java/org/hibernate/checkstyle/checks/regexp","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/master","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene","orm/src/test/java/org/hibernate/search/test/query/timeout","integrationtest/wildfly/src/test/java/org","elasticsearch/src/test/java/org","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/util","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/model","testing/src/main/java/org/hibernate/search","integrationtest/performance/engine-lucene/src/main/java","engine/src/main/java/org/hibernate/search/engine/metadata","engine/src/test/java/org/hibernate/search/test/bridge/util","orm/src/test/java/org/hibernate/search/test/embedded/path/depth","orm/src/main/java/org/hibernate/search/orm/jmx","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules","integrationtest/narayana/src/test/java/org/hibernate/search/test","jsr352/core/src","integrationtest/elasticsearch/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/session","engine/src/test/java/org/hibernate/search/testsupport/analyzer","engine/src/main/java/org/hibernate/search/analyzer/definition","serialization/avro","engine/src/main/java/org/hibernate/search/util","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/query","serialization/avro/src/main/java","engine/src/main/java/org/hibernate/search/query/dsl/impl","engine/src/test/java/org/hibernate/search/test/util/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/cfg","integrationtest/narayana/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/engine/nulls/codec","integrationtest/performance/orm/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/util","backends/jms/src/main","integrationtest/wildfly/src/test/java/org/hibernate/search/test","jsr352/core/src/test/java/org/hibernate/search/jsr352/test/util","engine/src/main/java/org/hibernate/search/engine/service","integrationtest","engine/src/main/java/org/hibernate/search/annotations","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport/concurrency","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing","engine/src/main/java/org/hibernate/search/indexes/interceptor","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jgroups","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/model","testing/src/main/java/org","engine/src/main/java/org/hibernate/search/backend/impl","engine/src/test/java/org/hibernate/search/test/engine/service","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test","elasticsearch-aws/src/main/java/org/hibernate"]} \ No newline at end of file +{"parentCommitId":"db78401f8577e5dd6caa89df67b690918b3c594b","currentCommitId":"5b778035965d7588ad1d1ae522c4bafebd3a0e16","filesBefore":[],"filesCurrent":["engine/src/main/java/org/hibernate/search/bridge/builtin/ArrayBridge.java", "engine/src/main/java/org/hibernate/search/util/impl/ClassLoaderHelper.java", "engine/src/main/java/org/hibernate/search/backend/impl/batch/DefaultBatchBackend.java", "engine/src/main/java/org/hibernate/search/spatial/impl/DistanceQuery.java", "elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/Elasticsearch2AnalyzerStrategy.java", "orm/src/main/java/org/hibernate/search/query/hibernate/impl/FullTextQueryImpl.java", "engine/src/main/java/org/hibernate/search/bridge/util/impl/NumericFieldUtils.java", "engine/src/main/java/org/hibernate/search/backend/impl/StreamingOperationDispatcher.java", "engine/src/main/java/org/hibernate/search/engine/impl/TokenizerChain.java"],"renamedFilesHint":{},"repositoryDirectoriesBefore":["engine/src/test/java/org/hibernate/search/test/query/serialization","elasticsearch-aws/src/main","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/spi","engine/src/main/java/org/hibernate/search/backend/impl/lucene/overrides","backends/jms/src/main/java/org","orm/src/test/java/org/hibernate/search/test/embedded/update","backends/jms/src/test/java/org/hibernate","integrationtest/jms/src","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps","integrationtest/performance/engine-lucene/src","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/backend","orm/src/main/java/org/hibernate/search/event/impl","integrationtest/jdk9-modules/src","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta","orm/src/main/java/org/hibernate/search/hcore/util","engine/src/main/java/org/hibernate/search/bridge/builtin/impl","integrationtest/jsr352/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java","orm/src/test/java/org/hibernate/search/test/engine/worker/duplication","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/builder","orm/src/test/java/org/hibernate/search/test/envers","integrationtest/jsr352/src/test/java/org","testing/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/transaction","orm/src/main/java/org/hibernate/search/orm/loading","engine/src/main/java/org/hibernate/search/engine/spi","serialization/avro/src/main/java/org/hibernate/search/indexes","elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/stat","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration","orm/src/main/java/org/hibernate/search/jpa","integrationtest/wildfly/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/backend/lucene","integrationtest/osgi/karaf-it/src/test","integrationtest/spring/src/test/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/spi","engine/src/test/java/org/hibernate/search/testsupport/optimizer","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/arquillian","orm/src/test/java/org/hibernate/search/test/id","engine/src/test/java/org/hibernate/search/test/fileleaks","backends/jgroups/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/impl","jsr352/core","engine/src/main/java/org/hibernate/search/spi/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/bridge","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/factory","orm/src/test/java/org/hibernate/search/test/filter/deprecated","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin","integrationtest/performance/engine-lucene/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org","engine/src/test/java/org/hibernate/search/test/spi","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/i18n","orm/src/main/java/org/hibernate/search/orm/jmx/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope","engine/src/main/java/org/hibernate/search/store","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration/osgi","build-config/src/main/java/org","orm/src/test/java/org/hibernate/search/test/batchindexing","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/util","jsr352/core/src/main/java","orm/src/test/java/org/hibernate/search/test/query/objectloading","engine/src/test/java/org/hibernate/search/test/dsl","orm/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/bridge/builtin","orm/src/test/java/org/hibernate/search/test/embedded/path/validation","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer","build-config/src/test/java/org/hibernate/checkstyle","engine/src/main/java/org/hibernate/search/backend/impl/batch","integrationtest/jms/src/test/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl","integrationtest/jms/src/test/java/org","integrationtest/jdk9-modules/src/main/java/org","orm/src/main/java/org/hibernate/search/query/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly","orm/src/test/java/org/hibernate/search/test/query/initandlookup","engine/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdefs","testing/src/main","elasticsearch/src/main","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet","elasticsearch-aws/src/main/java/org/hibernate/search","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/bridge","integrationtest/jdk9-modules/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/translation","engine/src/main/java/org/hibernate/search/engine/service/beanresolver","integrationtest/jdk9-modules/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa/impl","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/common","build-config/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch","build-config/src/main","jsr352/core/src/main/java/org/hibernate/search/jsr352/context","engine/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/bridge","engine/src/test/java/org/hibernate/search/testsupport/junit","orm/src/test/java/org/hibernate/search/test/configuration/norms","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism/uninitializedproxy","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/i18n","engine/src/test/java/org/hibernate/search/test/engine/numeric","engine/src/test/java/org/hibernate/search/test/sorting","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test","orm/src/main","backends/jms/src/test","orm/src/test/java/org/hibernate/search/test/embedded/fieldoncollection","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl","engine/src/test/java/org/hibernate/search/test/engine/typehandling","integrationtest/narayana/src/test","orm/src/test/java/org/hibernate/search/test/event","orm/src/test/java/org/hibernate/search/test/errorhandling","orm/src/test/java/org/hibernate/search/test/shards","backends/jms","integrationtest/elasticsearch/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/engine/service/spi","engine/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test/util","jsr352/core/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate","integrationtest/jsr352","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/slave","engine/src/test/java/org/hibernate/search/test/configuration/commitpolicy","elasticsearch-aws/src/main/java/org","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdef","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/spi","engine/src/main/java/org/hibernate/search/bridge/builtin/time/impl","orm/src/test/java/org/hibernate/search/test/jpa","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/optimizer","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/polymorphism","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work","engine/src/main/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/dao","backends/jms/src/main/java/org/hibernate","engine/src/main/java/org/hibernate/search/store/optimization","engine/src/test/java/org/hibernate/search/test/metadata","testing/src/main/java/org/hibernate","engine/src/test/java/org/hibernate/search/testsupport/textbuilder","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefs","engine/src/main/java/org/hibernate/search/analyzer/impl","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/stub","orm/src/main/java/org/hibernate/search/cfg","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging/impl","integrationtest/jms/src/test","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory/generated","engine/src/test/java/org/hibernate/search/test/errorhandling","engine/src/main/java/org/hibernate/search/backend/configuration/impl","integrationtest/elasticsearch/src/test","orm/src/test/java/org/hibernate/search/test/fieldAccess","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefinitionprovider","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition/impl","engine/src/main/java/org/hibernate/search/store/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil","integrationtest/osgi","engine","build-config/src/test/java/org/hibernate/checkstyle/checks","integrationtest/jsr352/src","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta","orm/src/main/java/org/hibernate/search/batchindexing/spi","build-config/src/main/java","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/massindexing","engine/src/main/java/org/hibernate/search/util/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans","orm/src/test/java/org/hibernate/search/test/backend","backends/jms/src/main/java/org/hibernate/search/backend","orm/src/test/java/org/hibernate/search/test/jmx","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/model","integrationtest/performance/sandbox/src/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/setuputilities","engine/src/main/java/org/hibernate/search/spatial/impl","integrationtest/spring/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/json","engine/src/main/java/org/hibernate/search/util/configuration","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/bridge","engine/src/main/java/org/hibernate/search/bridge/util/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject","serialization","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging","orm/src/main/java/org/hibernate/search/query","orm/src/test/java/org/hibernate/search/test/embedded/nested/containedIn","build-config/src/main/java/org/hibernate","integrationtest/performance/orm/src","integrationtest/narayana/src/test/java","engine/src/main/java/org/hibernate/search/reader/impl","integrationtest/jdk9-modules/src/main/java/org/hibernate","elasticsearch/src/test/java/org/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika","backends/jms/src/main/java/org/hibernate/search/backend/jms","elasticsearch/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/batchindexing","engine/src/main/java/org/hibernate/search/util/logging","backends/jms/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/bridge/time","engine/src/test/java/org/hibernate/search/test/sharding","integrationtest/wildfly","engine/src/main/java/org/hibernate/search/spi","orm/src/test/java","backends/jgroups/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/programmaticmapping","integrationtest/spring/src","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro","elasticsearch","jsr352/core/src/test/java/org/hibernate/search/jsr352","engine/src/main/java/org/hibernate/search/backend/configuration","orm/src/test/java/org/hibernate/search/test/util","jsr352/core/src/main","engine/src/main/java/org/hibernate/search/query/engine/spi","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdef","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/elasticsearch","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups/impl","backends/jgroups/src/test/java/org/hibernate","integrationtest/performance","integrationtest/performance/orm/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging/impl","orm/src/main/java/org/hibernate/search/orm","integrationtest/jms/src/test/java","testing","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/id","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/util","engine/src/test/java/org/hibernate/search/test/query/engine","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing","engine/src/test/java/org/hibernate/search/test/store","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/task","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/filter","engine/src/main/java/org/hibernate/search/engine/integration","engine/src/test/java/org/hibernate/search/test/bridge","engine/src/main/java/org/hibernate/search/engine/impl","engine/src/main/java/org/hibernate/search/backend/impl/blackhole","engine/src/main/java/org/hibernate/search/indexes/serialization/spi","integrationtest/jdk9-modules/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/sandbox/src/test/java/org/hibernate","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance","integrationtest/jdk9-modules/src/test/java/org/hibernate","orm/src/main/java/org/hibernate/search/orm/spi","jsr352/jberet/src/main","orm/src/test/java/org/hibernate/search/test/embedded/doubleinsert","engine/src/test/java/org/hibernate/search/test/facet","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi","orm/src/test/java/org/hibernate/search/test/filter","engine/src/main/java/org/hibernate/search/query/facet","orm/src/test/java/org/hibernate/search/test/query/nullValues","engine/src/main/java/org/hibernate/search/engine/metadata/impl","orm/src","elasticsearch/src/main/java/org/hibernate/search","serialization/avro/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/embedded/path/prefixed","integrationtest/performance/engine-elasticsearch/src/main/java","engine/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/controller","jsr352/jberet","backends/jms/src","orm/src/test/java/org/hibernate/search/test/id/withmeta","engine/src/test/java/org/hibernate/search/test/filters","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/util","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/nrt","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps","orm/src/main/java/org/hibernate/search/impl","orm/src/test/java/org/hibernate/search/test/embedded/nullindexed","orm/src/main/java/org/hibernate/search/batchindexing/impl","engine/src/main/java/org/hibernate/search/util/logging/impl","engine/src/test/java/org/hibernate/search/testsupport/indexmanager","orm/src/test/java/org/hibernate/search/test/embedded/path/id","orm/src/test/java/org/hibernate/search/test/engine/optimizations/mappedsuperclasscollection","serialization/avro/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition","engine/src/test/java/org/hibernate/search/test/engine","orm/src/test/java/org/hibernate/search/test/configuration","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/util","build-config/src/main/java/org/hibernate/checkstyle/checks/regexp","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/config","integrationtest/jdk9-modules/src/main/java/org/hibernate/search","integrationtest/performance/engine-elasticsearch/src/main","orm/src/test/java/org/hibernate/search/test/bridge/tika","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa","backends/jgroups/src/test","elasticsearch-aws","integrationtest/jms/src/test/java/org/hibernate/search/test/jms","orm/src/test/java/org/hibernate/search/test/query","jsr352/core/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/model","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/deletebyquery","orm/src/test/java/org/hibernate/search/test/event/autoindexembeddable","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","backends/jms/src/main/java","engine/src/test/java/org/hibernate/search/test/metadata/types","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/master","integrationtest/jms","backends/jgroups/src","jsr352/core/src/main/java/org","integrationtest/jsr352/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/configuration/bootstrapfailure","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging","integrationtest/performance/sandbox/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge","engine/src/main/java/org/hibernate/search/analyzer/definition/spi","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/reader","orm/src/test/java/org/hibernate/search/test/inheritance","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups","jsr352/core/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/embedded/path","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/jmx","engine/src/test/java/org/hibernate/search/test/backend","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring","engine/src/main/java/org/hibernate/search/bridge/builtin/time","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/integration","jsr352/jberet/src/main/java/org","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/util","jsr352/jberet/src/main/java/org/hibernate/search/jsr352","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es52","engine/src/main/java/org/hibernate/search/engine/service/named","engine/src/test/java/org/hibernate/search/test/dsl/embedded","orm/src/test/java/org/hibernate/search/test/embedded/path/defaultdepth","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es50","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl","integrationtest/jdk9-modules/src/main/java","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/afterchunk","jsr352/jberet/src","elasticsearch/src/test/java/org/hibernate/search","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/util","integrationtest/performance/engine-lucene","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging/impl","engine/src/test/java/org/hibernate/search/test/query","orm/src/main/java/org/hibernate/search/event","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query/impl","integrationtest/jdk9-modules/src/test/java/org","engine/src/main/java/org/hibernate/search/backend/impl/lucene","integrationtest/wildfly/src/test/java","orm/src/main/java/org/hibernate/search/query/hibernate/impl","orm/src/test/java/org/hibernate/search/test/embedded/graph","engine/src/main/java/org/hibernate/search/stat/impl","testing/src/main/java","build-config/src/main/java/org/hibernate/checkstyle","orm/src/test/java/org/hibernate/search/test/query/boost","jsr352/core/src/test/java/org","serialization/avro/src/test/java/org/hibernate/search/test","engine/src/main/java","engine/src/test/java/org/hibernate/search/test/id/providedId","backends/jgroups/src/test/java","engine/src/test/java/org/hibernate/search/test/analyzer","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups","orm/src/test/java/org/hibernate/search/test/embedded","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging/impl","integrationtest/performance/orm/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test","build-config/src/test","engine/src/test/java/org/hibernate/search/test/projection","testing/src/main/java/org/hibernate/search/test","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/service","elasticsearch/src/main/java","engine/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/reader/functionality","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time","orm/src/test/java/org/hibernate/search/test/compression","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/elasticsearch","elasticsearch-aws/src/main/java","engine/src/main/java/org/hibernate/search/metadata/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl/gson","engine/src/main/java/org/hibernate/search/indexes/serialization/impl","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/model","integrationtest/jdk9-modules/src/main","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/cmp","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/model","build-config/src/test/java/org","orm/src/test/java/org/hibernate/search/test/query/validation","orm/src/test/java/org/hibernate/search/test/spatial","engine/src/main/java/org/hibernate/search/engine/nulls/codec/impl","orm/src/test/java/org/hibernate/search/test/directoryProvider","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/filter","engine/src/main/java/org/hibernate/search/exception","orm/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/boost/embeddable","backends/jgroups/src/main","orm/src/test/java/org/hibernate/search/test/configuration/indexingStrategy","engine/src/test/java/org/hibernate/search/test/configuration/indexedembedded","integrationtest/elasticsearch/src/test/java/org","engine/src/main/java/org/hibernate/search/analyzer/spi","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/model","orm/src/test/java/org/hibernate/search/test/similarity","backends","engine/src/test/java/org/hibernate/search/test/id","orm/src/main/java/org/hibernate/search/hcore/impl","orm/src/test/java/org/hibernate/search/test/reader","engine/src/main/java/org/hibernate/search/util/jmx/impl","integrationtest/performance/sandbox","engine/src/main/java/org/hibernate/search/util/configuration/impl","integrationtest/osgi/karaf-it/src/test/java/org","engine/src/main/java/org/hibernate/search/engine/service/named/impl","engine/src/main/java/org/hibernate/search/engine/service/impl","integrationtest/spring/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/analyzer","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/impl","serialization/avro/src/main","engine/src/main/java/org/hibernate/search/cfg","backends/jms/src/test/java/org","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/client","engine/src/main/java/org/hibernate/search/backend/impl/lucene/analysis","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/controller","backends/jms/src/main/java/org/hibernate/search","integrationtest/wildfly/src","jsr352","orm/src/test/java/org/hibernate/search/test/embedded/fieldbridgeonlazyfield","backends/jgroups/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/statistics","integrationtest/spring/src/test/java/org","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch","integrationtest/performance/engine-elasticsearch","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/beforechunk","serialization/avro/src/main/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema","engine/src/main/java/org/hibernate/search/query/engine/impl","orm/src/test/java/org/hibernate/search/test/configuration/field","backends/jgroups/src/main/java/org/hibernate","backends/jms/src/test/java/org/hibernate/search/backend/jms","integrationtest/jdk9-modules","integrationtest/spring","integrationtest/performance/orm/src/test/java/org/hibernate/search/test","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance","orm/src/test/java/org/hibernate/search/test/bridge/bigdecimal","engine/src/main/java/org/hibernate/search/query/dsl","engine/src/main/java/org/hibernate/search/query/dsl/sort","jsr352/core/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/sorting","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/scenario","engine/src/main/java/org/hibernate/search/engine/nesting","integrationtest/narayana/src","jsr352/core/src/main/java/org/hibernate/search/jsr352","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/event","engine/src/main/java/org/hibernate/search/backend/impl/lucene/works","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/model","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/model","backends/jms/src/main/java/org/hibernate/search/backend/jms/spi","engine/src/main/java/org/hibernate/search/metadata","engine/src/test/java/org/hibernate/search/test/util/logging","integrationtest/performance/engine-elasticsearch/src/main/java/org","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing","engine/src/main/java/org/hibernate/search/bridge/spi","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta/infra","integrationtest/narayana/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/query/engine","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/impl","build-config/src/main/java/org/hibernate/checkstyle/checks","integrationtest/osgi/karaf-it/src/test/java/org/hibernate","integrationtest/performance/orm/src/test","orm/src/main/java/org/hibernate/search/cfg/impl","elasticsearch/src/test","backends/jms/src/main/java/org/hibernate/search/backend/impl/jms","engine/src/test/java/org/hibernate/search/test/configuration/sharding","backends/jgroups/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/entity","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil/junit","engine/src/test/java/org/hibernate/search/test/bridge/builtin","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/model","engine/src/main/java/org/hibernate/search/stat/spi","engine/src/main/java/org/hibernate/search/indexes/serialization","backends/jgroups/src/main/java","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups","integrationtest/jsr352/src/test","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/client","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/datasets","orm/src/test/java/org/hibernate/search/test/embedded/path/renamed","orm/src/test/java/org/hibernate/search/test/reader/nrtreaders","orm/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search","serialization/avro/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time/impl","engine/src/main/java/org/hibernate/search/engine","engine/src/test/java/org/hibernate/search/testsupport/setup","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope/spi","engine/src/test/java/org/hibernate/search/test/analyzer/common","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory","build-config","orm/src/test/java/org/hibernate/search/test/bridge/provider","orm/src/test/java/org/hibernate/search/test/query/criteria","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test","integrationtest/spring/src/test/java/org/hibernate","build-config/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl","elasticsearch/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/backend/spi","jsr352/jberet/src/main/java/org/hibernate","integrationtest/spring/src/test","orm/src/test/java/org/hibernate/search/test/embedded/depth","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor/impl","backends/jms/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/configuration","jsr352/core/src/test/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/proxy","orm/src/test/java/org/hibernate","backends/jgroups/src/main/java/org/hibernate/search/backend","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/spi","orm/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/engine/nulls/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading/spi","orm/src/test/java/org/hibernate/search/test/util/progessmonitor","engine/src/main/java/org/hibernate/search/filter/impl","engine/src/main/java/org/hibernate/search/indexes/spi","orm/src/test/java/org/hibernate/search/test/embedded/path/simple","engine/src/main/java/org/hibernate/search/bridge/util","engine/src/main/java/org/hibernate/search/cfg/spi/impl","integrationtest/narayana","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance","orm/src/main/java/org","orm","orm/src/main/java","engine/src/main/java/org/hibernate/search/indexes","integrationtest/elasticsearch","engine/src/main/java/org/hibernate/search/engine/service/classloading/impl","engine/src/main/java/org/hibernate/search/reader","engine/src/test/java/org","testing/src/main/java/org/hibernate/search/test/util","integrationtest/performance/orm","serialization/avro/src/main/java/org/hibernate/search","jsr352/core/src/test","engine/src/test/java/org/hibernate/search/testsupport/leakdetection","engine/src/test/java/org/hibernate/search/testsupport/serialization","engine/src/main/java/org/hibernate/search/bridge/impl","orm/src/test/java/org/hibernate/search/test/engine","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/model","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism","integrationtest/performance/engine-lucene/src/main/java/org","serialization/avro/src/test/java/org/hibernate","integrationtest/osgi/karaf-it/src","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/impl","serialization/avro/src/test/java/org","orm/src/test/java/org/hibernate/search/test/engine/optimizations","integrationtest/jms/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/search","engine/src/main/java/org/hibernate/search/engine/nulls","engine/src/main/java/org/hibernate/search/jmx","engine/src/main/java/org/hibernate/search/util/jmx","engine/src/main/java/org/hibernate/search/spatial","engine/src/main/java/org/hibernate/search/engine/service/named/spi","engine/src/main/java/org/hibernate/search/query/dsl/sort/impl","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration/jdk9_modules","orm/src/test/java/org/hibernate/search/test/query/facet","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/impl","orm/src/main/java/org/hibernate/search/hcore/spi","serialization/avro/src/test/java/org/hibernate/search","serialization/avro/src/test","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/controller","orm/src/main/java/org/hibernate","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/setuputilities","orm/src/main/java/org/hibernate/search/orm/loading/impl","build-config/src","engine/src/test/java/org/hibernate/search/test/analyzer/inheritance","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl","orm/src/test/java/org/hibernate/search/test/embedded/sorting","engine/src/main/java/org/hibernate/search/store/optimization/impl","backends/jms/src/main/java/org/hibernate/search/backend/jms/impl","engine/src/test/java/org/hibernate/search/test/searchfactory","integrationtest/narayana/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352","backends/jgroups/src/main/java/org/hibernate/search","build-config/src/main/java/org/hibernate/checkstyle/filters","integrationtest/jsr352/src/test/java","serialization/avro/src/test/java/org/hibernate/search/test/serialization","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/slave","orm/src/test/java/org/hibernate/search/test/event/update","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson/impl","engine/src/test/java/org/hibernate/search/testsupport/readerprovider","engine/src/main/java/org/hibernate/search/engine/integration/impl","serialization/avro/src/main/java/org","backends/jgroups","backends/jms/src/main/java/org/hibernate/search/backend/impl","jsr352/jberet/src/main/java/org/hibernate/search","backends/jgroups/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/query/explain","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl","engine/src/test/java/org/hibernate/search/test/backend/serialization","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352","integrationtest/performance/orm/src/test/java","engine/src/test/java","engine/src/main/java/org/hibernate/search/indexes/impl","integrationtest/performance/engine-elasticsearch/src","orm/src/main/java/org/hibernate/search/hcore/util/impl","engine/src/main/java/org/hibernate/search/cfg/spi","integrationtest/wildfly/src/test","orm/src/test/java/org/hibernate/search/test/configuration/integration","orm/src/test/java/org/hibernate/search/test/interceptor","jsr352/jberet/src/main/java","orm/src/test/java/org/hibernate/search/test/bridge","orm/src/test/java/org/hibernate/search/test/engine/indexapi","engine/src/main/java/org/hibernate/search/analyzer/definition/impl","backends/jms/src/test/java","engine/src/test/java/org/hibernate/search/test/indexmanager","engine/src/main/java/org/hibernate/search/filter","integrationtest/jms/src/test/java/org/hibernate","integrationtest/elasticsearch/src/test/java","engine/src/test/java/org/hibernate/search/testsupport/backend","elasticsearch/src/test/java","integrationtest/elasticsearch/src","engine/src/test/java/org/hibernate/search/test/analyzer/definition","orm/src/test/java/org/hibernate/search/test/embedded/nested","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","engine/src/main/java/org/hibernate/search/exception/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es2","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/spi","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/impl","engine/src/main/java/org/hibernate/search/store/spi","integrationtest/performance/engine-lucene/src/main","orm/src/test/java/org/hibernate/search/test/embedded/path/multiple","elasticsearch/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec/impl","integrationtest/performance/sandbox/src/test/java","orm/src/test","orm/src/test/java/org/hibernate/search/test/engine/worker","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/indexes","orm/src/main/java/org/hibernate/search/batchindexing","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging","orm/src/test/java/org/hibernate/search/test/engine/optimizations/deletebyterm","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/model","orm/src/main/java/org/hibernate/search/hcore","engine/src/main","orm/src/test/java/org/hibernate/search/test/concurrency","elasticsearch-aws/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/backend","engine/src/main/java/org/hibernate/search/engine/nesting/impl","orm/src/test/java/org/hibernate/search/test/query/objectloading/mixedhierarchy","backends/jms/src/test/java/org/hibernate/search/backend/jms/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/common","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/impl","build-config/src/test/java/org/hibernate/checkstyle/checks/regexp","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/master","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene","orm/src/test/java/org/hibernate/search/test/query/timeout","integrationtest/wildfly/src/test/java/org","elasticsearch/src/test/java/org","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/util","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/model","testing/src/main/java/org/hibernate/search","integrationtest/performance/engine-lucene/src/main/java","engine/src/main/java/org/hibernate/search/engine/metadata","engine/src/test/java/org/hibernate/search/test/bridge/util","orm/src/test/java/org/hibernate/search/test/embedded/path/depth","orm/src/main/java/org/hibernate/search/orm/jmx","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules","integrationtest/narayana/src/test/java/org/hibernate/search/test","jsr352/core/src","integrationtest/elasticsearch/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/session","engine/src/test/java/org/hibernate/search/testsupport/analyzer","engine/src/main/java/org/hibernate/search/analyzer/definition","serialization/avro","engine/src/main/java/org/hibernate/search/util","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/query","serialization/avro/src/main/java","engine/src/main/java/org/hibernate/search/query/dsl/impl","engine/src/test/java/org/hibernate/search/test/util/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/cfg","integrationtest/narayana/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/engine/nulls/codec","integrationtest/performance/orm/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/util","backends/jms/src/main","integrationtest/wildfly/src/test/java/org/hibernate/search/test","jsr352/core/src/test/java/org/hibernate/search/jsr352/test/util","engine/src/main/java/org/hibernate/search/engine/service","integrationtest","engine/src/main/java/org/hibernate/search/annotations","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport/concurrency","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing","engine/src/main/java/org/hibernate/search/indexes/interceptor","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jgroups","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/model","testing/src/main/java/org","engine/src/main/java/org/hibernate/search/backend/impl","engine/src/test/java/org/hibernate/search/test/engine/service","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test","elasticsearch-aws/src/main/java/org/hibernate"],"repositoryDirectoriesCurrent":["engine/src/test/java/org/hibernate/search/test/query/serialization","elasticsearch-aws/src/main","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/spi","engine/src/main/java/org/hibernate/search/backend/impl/lucene/overrides","backends/jms/src/main/java/org","orm/src/test/java/org/hibernate/search/test/embedded/update","backends/jms/src/test/java/org/hibernate","integrationtest/jms/src","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps","integrationtest/performance/engine-lucene/src","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/backend","orm/src/main/java/org/hibernate/search/event/impl","integrationtest/jdk9-modules/src","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta","orm/src/main/java/org/hibernate/search/hcore/util","engine/src/main/java/org/hibernate/search/bridge/builtin/impl","integrationtest/jsr352/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java","orm/src/test/java/org/hibernate/search/test/engine/worker/duplication","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/builder","orm/src/test/java/org/hibernate/search/test/envers","integrationtest/jsr352/src/test/java/org","testing/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/transaction","orm/src/main/java/org/hibernate/search/orm/loading","engine/src/main/java/org/hibernate/search/engine/spi","serialization/avro/src/main/java/org/hibernate/search/indexes","elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/stat","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration","orm/src/main/java/org/hibernate/search/jpa","integrationtest/wildfly/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/backend/lucene","integrationtest/osgi/karaf-it/src/test","integrationtest/spring/src/test/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/spi","engine/src/test/java/org/hibernate/search/testsupport/optimizer","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/arquillian","orm/src/test/java/org/hibernate/search/test/id","engine/src/test/java/org/hibernate/search/test/fileleaks","backends/jgroups/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/impl","jsr352/core","engine/src/main/java/org/hibernate/search/spi/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/bridge","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl/factory","orm/src/test/java/org/hibernate/search/test/filter/deprecated","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin","integrationtest/performance/engine-lucene/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org","engine/src/test/java/org/hibernate/search/test/spi","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/i18n","orm/src/main/java/org/hibernate/search/orm/jmx/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope","engine/src/main/java/org/hibernate/search/store","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration/osgi","build-config/src/main/java/org","orm/src/test/java/org/hibernate/search/test/batchindexing","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/util","jsr352/core/src/main/java","orm/src/test/java/org/hibernate/search/test/query/objectloading","engine/src/test/java/org/hibernate/search/test/dsl","orm/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/bridge/builtin","orm/src/test/java/org/hibernate/search/test/embedded/path/validation","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer","build-config/src/test/java/org/hibernate/checkstyle","engine/src/main/java/org/hibernate/search/backend/impl/batch","integrationtest/jms/src/test/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl","integrationtest/jms/src/test/java/org","integrationtest/jdk9-modules/src/main/java/org","orm/src/main/java/org/hibernate/search/query/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly","orm/src/test/java/org/hibernate/search/test/query/initandlookup","engine/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdefs","testing/src/main","elasticsearch/src/main","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet","elasticsearch-aws/src/main/java/org/hibernate/search","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/bridge","integrationtest/jdk9-modules/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/translation","engine/src/main/java/org/hibernate/search/engine/service/beanresolver","integrationtest/jdk9-modules/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa/impl","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/common","build-config/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch","build-config/src/main","jsr352/core/src/main/java/org/hibernate/search/jsr352/context","engine/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/bridge","engine/src/test/java/org/hibernate/search/testsupport/junit","orm/src/test/java/org/hibernate/search/test/configuration/norms","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism/uninitializedproxy","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/i18n","engine/src/test/java/org/hibernate/search/test/engine/numeric","engine/src/test/java/org/hibernate/search/test/sorting","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test","orm/src/main","backends/jms/src/test","orm/src/test/java/org/hibernate/search/test/embedded/fieldoncollection","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl","engine/src/test/java/org/hibernate/search/test/engine/typehandling","integrationtest/narayana/src/test","orm/src/test/java/org/hibernate/search/test/event","orm/src/test/java/org/hibernate/search/test/errorhandling","orm/src/test/java/org/hibernate/search/test/shards","backends/jms","integrationtest/elasticsearch/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/engine/service/spi","engine/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test/util","jsr352/core/src/test/java","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate","integrationtest/jsr352","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/slave","engine/src/test/java/org/hibernate/search/test/configuration/commitpolicy","elasticsearch-aws/src/main/java/org","orm/src/test/java/org/hibernate/search/test/filter/fulltextfilterdef","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/spi","engine/src/main/java/org/hibernate/search/bridge/builtin/time/impl","orm/src/test/java/org/hibernate/search/test/jpa","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/optimizer","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context/jpa","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/polymorphism","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work","engine/src/main/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/dao","backends/jms/src/main/java/org/hibernate","engine/src/main/java/org/hibernate/search/store/optimization","engine/src/test/java/org/hibernate/search/test/metadata","testing/src/main/java/org/hibernate","engine/src/test/java/org/hibernate/search/testsupport/textbuilder","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefs","engine/src/main/java/org/hibernate/search/analyzer/impl","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/stub","orm/src/main/java/org/hibernate/search/cfg","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging/impl","integrationtest/jms/src/test","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory/generated","engine/src/test/java/org/hibernate/search/test/errorhandling","engine/src/main/java/org/hibernate/search/backend/configuration/impl","integrationtest/elasticsearch/src/test","orm/src/test/java/org/hibernate/search/test/fieldAccess","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdefinitionprovider","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test/integration","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition/impl","engine/src/main/java/org/hibernate/search/store/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil","integrationtest/osgi","engine","build-config/src/test/java/org/hibernate/checkstyle/checks","integrationtest/jsr352/src","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta","orm/src/main/java/org/hibernate/search/batchindexing/spi","build-config/src/main/java","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/massindexing","engine/src/main/java/org/hibernate/search/util/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans","orm/src/test/java/org/hibernate/search/test/backend","backends/jms/src/main/java/org/hibernate/search/backend","orm/src/test/java/org/hibernate/search/test/jmx","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/model","integrationtest/performance/sandbox/src/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/setuputilities","engine/src/main/java/org/hibernate/search/spatial/impl","integrationtest/spring/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/json","engine/src/main/java/org/hibernate/search/util/configuration","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/bridge","engine/src/main/java/org/hibernate/search/bridge/util/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject","serialization","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/logging","orm/src/main/java/org/hibernate/search/query","orm/src/test/java/org/hibernate/search/test/embedded/nested/containedIn","build-config/src/main/java/org/hibernate","integrationtest/performance/orm/src","integrationtest/narayana/src/test/java","engine/src/main/java/org/hibernate/search/reader/impl","integrationtest/jdk9-modules/src/main/java/org/hibernate","elasticsearch/src/test/java/org/hibernate","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika","backends/jms/src/main/java/org/hibernate/search/backend/jms","elasticsearch/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/batchindexing","engine/src/main/java/org/hibernate/search/util/logging","backends/jms/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/bridge/time","engine/src/test/java/org/hibernate/search/test/sharding","integrationtest/wildfly","engine/src/main/java/org/hibernate/search/spi","orm/src/test/java","backends/jgroups/src/test/java/org/hibernate/search/backend","engine/src/test/java/org/hibernate/search/test/programmaticmapping","integrationtest/spring/src","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro","elasticsearch","jsr352/core/src/test/java/org/hibernate/search/jsr352","engine/src/main/java/org/hibernate/search/backend/configuration","orm/src/test/java/org/hibernate/search/test/util","jsr352/core/src/main","engine/src/main/java/org/hibernate/search/query/engine/spi","engine/src/test/java/org/hibernate/search/test/analyzer/analyzerdef","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/elasticsearch","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups/impl","backends/jgroups/src/test/java/org/hibernate","integrationtest/performance","integrationtest/performance/orm/src/test/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging/impl","orm/src/main/java/org/hibernate/search/orm","integrationtest/jms/src/test/java","testing","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/id","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/util","engine/src/test/java/org/hibernate/search/test/query/engine","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing","engine/src/test/java/org/hibernate/search/test/store","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/task","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/filter","engine/src/main/java/org/hibernate/search/engine/integration","engine/src/test/java/org/hibernate/search/test/bridge","engine/src/main/java/org/hibernate/search/engine/impl","engine/src/main/java/org/hibernate/search/backend/impl/blackhole","engine/src/main/java/org/hibernate/search/indexes/serialization/spi","integrationtest/jdk9-modules/src/test","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/sandbox/src/test/java/org/hibernate","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance","integrationtest/jdk9-modules/src/test/java/org/hibernate","orm/src/main/java/org/hibernate/search/orm/spi","jsr352/jberet/src/main","orm/src/test/java/org/hibernate/search/test/embedded/doubleinsert","engine/src/test/java/org/hibernate/search/test/facet","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi","orm/src/test/java/org/hibernate/search/test/filter","engine/src/main/java/org/hibernate/search/query/facet","orm/src/test/java/org/hibernate/search/test/query/nullValues","engine/src/main/java/org/hibernate/search/engine/metadata/impl","orm/src","elasticsearch/src/main/java/org/hibernate/search","serialization/avro/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/embedded/path/prefixed","integrationtest/performance/engine-elasticsearch/src/main/java","engine/src","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/controller","jsr352/jberet","backends/jms/src","orm/src/test/java/org/hibernate/search/test/id/withmeta","engine/src/test/java/org/hibernate/search/test/filters","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/util","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/nrt","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl/steps","orm/src/main/java/org/hibernate/search/impl","orm/src/test/java/org/hibernate/search/test/embedded/nullindexed","orm/src/main/java/org/hibernate/search/batchindexing/impl","engine/src/main/java/org/hibernate/search/util/logging/impl","engine/src/test/java/org/hibernate/search/testsupport/indexmanager","orm/src/test/java/org/hibernate/search/test/embedded/path/id","orm/src/test/java/org/hibernate/search/test/engine/optimizations/mappedsuperclasscollection","serialization/avro/src/test/java","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/definition","engine/src/test/java/org/hibernate/search/test/engine","orm/src/test/java/org/hibernate/search/test/configuration","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/util","build-config/src/main/java/org/hibernate/checkstyle/checks/regexp","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/config","integrationtest/jdk9-modules/src/main/java/org/hibernate/search","integrationtest/performance/engine-elasticsearch/src/main","orm/src/test/java/org/hibernate/search/test/bridge/tika","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa","backends/jgroups/src/test","elasticsearch-aws","integrationtest/jms/src/test/java/org/hibernate/search/test/jms","orm/src/test/java/org/hibernate/search/test/query","jsr352/core/src/test/java/org/hibernate/search/jsr352/test","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/model","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/deletebyquery","orm/src/test/java/org/hibernate/search/test/event/autoindexembeddable","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/lucene","backends/jms/src/main/java","engine/src/test/java/org/hibernate/search/test/metadata/types","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/master","integrationtest/jms","backends/jgroups/src","jsr352/core/src/main/java/org","integrationtest/jsr352/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/configuration/bootstrapfailure","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging","integrationtest/performance/sandbox/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge","engine/src/main/java/org/hibernate/search/analyzer/definition/spi","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance/reader","orm/src/test/java/org/hibernate/search/test/inheritance","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups","jsr352/core/src/test/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/embedded/path","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test/entity","engine/src/test/java/org/hibernate/search/test/jmx","engine/src/test/java/org/hibernate/search/test/backend","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring","engine/src/main/java/org/hibernate/search/bridge/builtin/time","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/integration","jsr352/jberet/src/main/java/org","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/util","jsr352/jberet/src/main/java/org/hibernate/search/jsr352","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es52","engine/src/main/java/org/hibernate/search/engine/service/named","engine/src/test/java/org/hibernate/search/test/dsl/embedded","orm/src/test/java/org/hibernate/search/test/embedded/path/defaultdepth","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es50","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl","integrationtest/jdk9-modules/src/main/java","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/afterchunk","jsr352/jberet/src","elasticsearch/src/test/java/org/hibernate/search","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/context","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/util","integrationtest/performance/engine-lucene","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/logging/impl","engine/src/test/java/org/hibernate/search/test/query","orm/src/main/java/org/hibernate/search/event","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/query/impl","integrationtest/jdk9-modules/src/test/java/org","engine/src/main/java/org/hibernate/search/backend/impl/lucene","integrationtest/wildfly/src/test/java","orm/src/main/java/org/hibernate/search/query/hibernate/impl","orm/src/test/java/org/hibernate/search/test/embedded/graph","engine/src/main/java/org/hibernate/search/stat/impl","testing/src/main/java","build-config/src/main/java/org/hibernate/checkstyle","orm/src/test/java/org/hibernate/search/test/query/boost","jsr352/core/src/test/java/org","serialization/avro/src/test/java/org/hibernate/search/test","engine/src/main/java","engine/src/test/java/org/hibernate/search/test/id/providedId","backends/jgroups/src/test/java","engine/src/test/java/org/hibernate/search/test/analyzer","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups","orm/src/test/java/org/hibernate/search/test/embedded","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging/impl","integrationtest/performance/orm/src/test/java/org/hibernate/search","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search/test","build-config/src/test","engine/src/test/java/org/hibernate/search/test/projection","testing/src/main/java/org/hibernate/search/test","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/service","elasticsearch/src/main/java","engine/src/test/java/org/hibernate/search/test/util","orm/src/test/java/org/hibernate/search/test/reader/functionality","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time","orm/src/test/java/org/hibernate/search/test/compression","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/elasticsearch","elasticsearch-aws/src/main/java","engine/src/main/java/org/hibernate/search/metadata/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/util/impl/gson","engine/src/main/java/org/hibernate/search/indexes/serialization/impl","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/model","integrationtest/jdk9-modules/src/main","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/cmp","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/model","build-config/src/test/java/org","orm/src/test/java/org/hibernate/search/test/query/validation","orm/src/test/java/org/hibernate/search/test/spatial","engine/src/main/java/org/hibernate/search/engine/nulls/codec/impl","orm/src/test/java/org/hibernate/search/test/directoryProvider","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/filter","engine/src/main/java/org/hibernate/search/exception","orm/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/boost/embeddable","backends/jgroups/src/main","orm/src/test/java/org/hibernate/search/test/configuration/indexingStrategy","engine/src/test/java/org/hibernate/search/test/configuration/indexedembedded","integrationtest/elasticsearch/src/test/java/org","engine/src/main/java/org/hibernate/search/analyzer/spi","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/model","orm/src/test/java/org/hibernate/search/test/similarity","backends","engine/src/test/java/org/hibernate/search/test/id","orm/src/main/java/org/hibernate/search/hcore/impl","orm/src/test/java/org/hibernate/search/test/reader","engine/src/main/java/org/hibernate/search/util/jmx/impl","integrationtest/performance/sandbox","engine/src/main/java/org/hibernate/search/util/configuration/impl","integrationtest/osgi/karaf-it/src/test/java/org","engine/src/main/java/org/hibernate/search/engine/service/named/impl","engine/src/main/java/org/hibernate/search/engine/service/impl","integrationtest/spring/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/analyzer","engine/src/main/java/org/hibernate/search/engine/service/beanresolver/impl","serialization/avro/src/main","engine/src/main/java/org/hibernate/search/cfg","backends/jms/src/test/java/org","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/client","engine/src/main/java/org/hibernate/search/backend/impl/lucene/analysis","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jms/controller","backends/jms/src/main/java/org/hibernate/search","integrationtest/wildfly/src","jsr352","orm/src/test/java/org/hibernate/search/test/embedded/fieldbridgeonlazyfield","backends/jgroups/src/test/java/org/hibernate/search/test","orm/src/test/java/org/hibernate/search/test/statistics","integrationtest/spring/src/test/java/org","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch","integrationtest/performance/engine-elasticsearch","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl/steps/beforechunk","serialization/avro/src/main/java/org/hibernate","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema","engine/src/main/java/org/hibernate/search/query/engine/impl","orm/src/test/java/org/hibernate/search/test/configuration/field","backends/jgroups/src/main/java/org/hibernate","backends/jms/src/test/java/org/hibernate/search/backend/jms","integrationtest/jdk9-modules","integrationtest/spring","integrationtest/performance/orm/src/test/java/org/hibernate/search/test","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test/performance","orm/src/test/java/org/hibernate/search/test/bridge/bigdecimal","engine/src/main/java/org/hibernate/search/query/dsl","engine/src/main/java/org/hibernate/search/query/dsl/sort","jsr352/core/src/main/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/query/sorting","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/scenario","engine/src/main/java/org/hibernate/search/engine/nesting","integrationtest/narayana/src","jsr352/core/src/main/java/org/hibernate/search/jsr352","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/event","engine/src/main/java/org/hibernate/search/backend/impl/lucene/works","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/model","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/cdi/beans/model","backends/jms/src/main/java/org/hibernate/search/backend/jms/spi","engine/src/main/java/org/hibernate/search/metadata","engine/src/test/java/org/hibernate/search/test/util/logging","integrationtest/performance/engine-elasticsearch/src/main/java/org","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing","engine/src/main/java/org/hibernate/search/bridge/spi","integrationtest/narayana/src/test/java/org/hibernate/search/test/integration/jbossjta/infra","integrationtest/narayana/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/query/engine","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/logging","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/impl","build-config/src/main/java/org/hibernate/checkstyle/checks","integrationtest/osgi/karaf-it/src/test/java/org/hibernate","integrationtest/performance/orm/src/test","orm/src/main/java/org/hibernate/search/cfg/impl","elasticsearch/src/test","backends/jms/src/main/java/org/hibernate/search/backend/impl/jms","engine/src/test/java/org/hibernate/search/test/configuration/sharding","backends/jgroups/src/test/java/org","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/jta/entity","elasticsearch-aws/src/main/java/org/hibernate/search/elasticsearch/aws/impl","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/testutil/junit","engine/src/test/java/org/hibernate/search/test/bridge/builtin","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/model","engine/src/main/java/org/hibernate/search/stat/spi","engine/src/main/java/org/hibernate/search/indexes/serialization","backends/jgroups/src/main/java","backends/jgroups/src/test/java/org/hibernate/search/backend/jgroups","integrationtest/jsr352/src/test","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/client","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance/elasticsearch/datasets","orm/src/test/java/org/hibernate/search/test/embedded/path/renamed","orm/src/test/java/org/hibernate/search/test/reader/nrtreaders","orm/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search","serialization/avro/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/time/impl","engine/src/main/java/org/hibernate/search/engine","engine/src/test/java/org/hibernate/search/testsupport/setup","integrationtest/osgi/karaf-it/src/test/java/org/hibernate/search","jsr352/core/src/main/java/org/hibernate/search/jsr352/inject/scope/spi","engine/src/test/java/org/hibernate/search/test/analyzer/common","engine/src/test/java/org/hibernate/search/test/configuration/mutablefactory","build-config","orm/src/test/java/org/hibernate/search/test/bridge/provider","orm/src/test/java/org/hibernate/search/test/query/criteria","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test","integrationtest/spring/src/test/java/org/hibernate","build-config/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate/search/jsr352/massindexing/impl","elasticsearch/src/main/java/org/hibernate","integrationtest/performance/sandbox/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate/search/backend/spi","jsr352/jberet/src/main/java/org/hibernate","integrationtest/spring/src/test","orm/src/test/java/org/hibernate/search/test/embedded/depth","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor/impl","backends/jms/src/test/java/org/hibernate/search","engine/src/test/java/org/hibernate/search/test/configuration","jsr352/core/src/test/java/org/hibernate/search","orm/src/test/java/org/hibernate/search/test/proxy","orm/src/test/java/org/hibernate","backends/jgroups/src/main/java/org/hibernate/search/backend","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client/spi","orm/src/test/java/org/hibernate/search/test","engine/src/main/java/org/hibernate/search/engine/nulls/impl","engine/src/main/java/org/hibernate/search/engine/service/classloading/spi","orm/src/test/java/org/hibernate/search/test/util/progessmonitor","engine/src/main/java/org/hibernate/search/filter/impl","engine/src/main/java/org/hibernate/search/indexes/spi","orm/src/test/java/org/hibernate/search/test/embedded/path/simple","engine/src/main/java/org/hibernate/search/bridge/util","engine/src/main/java/org/hibernate/search/cfg/spi/impl","integrationtest/narayana","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search/engineperformance","orm/src/main/java/org","orm","orm/src/main/java","engine/src/main/java/org/hibernate/search/indexes","integrationtest/elasticsearch","engine/src/main/java/org/hibernate/search/engine/service/classloading/impl","engine/src/main/java/org/hibernate/search/reader","engine/src/test/java/org","testing/src/main/java/org/hibernate/search/test/util","integrationtest/performance/orm","serialization/avro/src/main/java/org/hibernate/search","jsr352/core/src/test","engine/src/test/java/org/hibernate/search/testsupport/leakdetection","engine/src/test/java/org/hibernate/search/testsupport/serialization","engine/src/main/java/org/hibernate/search/bridge/impl","orm/src/test/java/org/hibernate/search/test/engine","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/schema/impl/model","orm/src/test/java/org/hibernate/search/test/embedded/polymorphism","integrationtest/performance/engine-lucene/src/main/java/org","serialization/avro/src/test/java/org/hibernate","integrationtest/osgi/karaf-it/src","serialization/avro/src/main/java/org/hibernate/search/indexes/serialization/avro/impl","serialization/avro/src/test/java/org","orm/src/test/java/org/hibernate/search/test/engine/optimizations","integrationtest/jms/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport","integrationtest/spring/src/test/java/org/hibernate/search/test/integration/spring/injection/search","engine/src/main/java/org/hibernate/search/engine/nulls","engine/src/main/java/org/hibernate/search/jmx","engine/src/main/java/org/hibernate/search/util/jmx","engine/src/main/java/org/hibernate/search/spatial","engine/src/main/java/org/hibernate/search/engine/service/named/spi","engine/src/main/java/org/hibernate/search/query/dsl/sort/impl","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test/integration/jdk9_modules","orm/src/test/java/org/hibernate/search/test/query/facet","jsr352/jberet/src/main/java/org/hibernate/search/jsr352/jberet/impl","orm/src/main/java/org/hibernate/search/hcore/spi","serialization/avro/src/test/java/org/hibernate/search","serialization/avro/src/test","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/controller","orm/src/main/java/org/hibernate","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene/setuputilities","orm/src/main/java/org/hibernate/search/orm/loading/impl","build-config/src","engine/src/test/java/org/hibernate/search/test/analyzer/inheritance","jsr352/core/src/test/java/org/hibernate/search/jsr352/massindexing/impl","orm/src/test/java/org/hibernate/search/test/embedded/sorting","engine/src/main/java/org/hibernate/search/store/optimization/impl","backends/jms/src/main/java/org/hibernate/search/backend/jms/impl","engine/src/test/java/org/hibernate/search/test/searchfactory","integrationtest/narayana/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352","backends/jgroups/src/main/java/org/hibernate/search","build-config/src/main/java/org/hibernate/checkstyle/filters","integrationtest/jsr352/src/test/java","serialization/avro/src/test/java/org/hibernate/search/test/serialization","integrationtest/jms/src/test/java/org/hibernate/search/test/jms/slave","orm/src/test/java/org/hibernate/search/test/event/update","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/gson/impl","engine/src/test/java/org/hibernate/search/testsupport/readerprovider","engine/src/main/java/org/hibernate/search/engine/integration/impl","serialization/avro/src/main/java/org","backends/jgroups","backends/jms/src/main/java/org/hibernate/search/backend/impl","jsr352/jberet/src/main/java/org/hibernate/search","backends/jgroups/src/test/java/org/hibernate/search","engine/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/query/explain","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/work/impl","engine/src/test/java/org/hibernate/search/test/backend/serialization","integrationtest/elasticsearch/src/test/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352","integrationtest/performance/orm/src/test/java","engine/src/test/java","engine/src/main/java/org/hibernate/search/indexes/impl","integrationtest/performance/engine-elasticsearch/src","orm/src/main/java/org/hibernate/search/hcore/util/impl","engine/src/main/java/org/hibernate/search/cfg/spi","integrationtest/wildfly/src/test","orm/src/test/java/org/hibernate/search/test/configuration/integration","orm/src/test/java/org/hibernate/search/test/interceptor","jsr352/jberet/src/main/java","orm/src/test/java/org/hibernate/search/test/bridge","orm/src/test/java/org/hibernate/search/test/engine/indexapi","engine/src/main/java/org/hibernate/search/analyzer/definition/impl","backends/jms/src/test/java","engine/src/test/java/org/hibernate/search/test/indexmanager","engine/src/main/java/org/hibernate/search/filter","integrationtest/jms/src/test/java/org/hibernate","integrationtest/elasticsearch/src/test/java","engine/src/test/java/org/hibernate/search/testsupport/backend","elasticsearch/src/test/java","integrationtest/elasticsearch/src","engine/src/test/java/org/hibernate/search/test/analyzer/definition","orm/src/test/java/org/hibernate/search/test/embedded/nested","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test","engine/src/main/java/org/hibernate/search/exception/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect/impl/es2","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings","integrationtest/jdk9-modules/src/test/java/org/hibernate/search/test","jsr352/core/src/main/java/org/hibernate/search/jsr352/context/jpa/spi","backends/jgroups/src/main/java/org/hibernate/search/backend/jgroups/impl","engine/src/main/java/org/hibernate/search/store/spi","integrationtest/performance/engine-lucene/src/main","orm/src/test/java/org/hibernate/search/test/embedded/path/multiple","elasticsearch/src/main/java/org","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/codec/impl","integrationtest/performance/sandbox/src/test/java","orm/src/test","orm/src/test/java/org/hibernate/search/test/engine/worker","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/indexes","orm/src/main/java/org/hibernate/search/batchindexing","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/nulls/impl","jsr352/core/src/main/java/org/hibernate/search/jsr352/logging","orm/src/test/java/org/hibernate/search/test/engine/optimizations/deletebyterm","integrationtest/performance/engine-elasticsearch/src/main/java/org/hibernate/search","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/tika/model","orm/src/main/java/org/hibernate/search/hcore","engine/src/main","orm/src/test/java/org/hibernate/search/test/concurrency","elasticsearch-aws/src","elasticsearch/src/main/java/org/hibernate/search/elasticsearch","engine/src/main/java/org/hibernate/search/backend","engine/src/main/java/org/hibernate/search/engine/nesting/impl","orm/src/test/java/org/hibernate/search/test/query/objectloading/mixedhierarchy","backends/jms/src/test/java/org/hibernate/search/backend/jms/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing/test/common","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/processor/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/bridge/builtin/impl","build-config/src/test/java/org/hibernate/checkstyle/checks/regexp","backends/jgroups/src/test/java/org/hibernate/search/test/jgroups/master","integrationtest/performance/engine-lucene/src/main/java/org/hibernate/search/engineperformance/lucene","orm/src/test/java/org/hibernate/search/test/query/timeout","integrationtest/wildfly/src/test/java/org","elasticsearch/src/test/java/org","integrationtest/performance/orm/src/test/java/org/hibernate/search/test/performance/util","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/model","testing/src/main/java/org/hibernate/search","integrationtest/performance/engine-lucene/src/main/java","engine/src/main/java/org/hibernate/search/engine/metadata","engine/src/test/java/org/hibernate/search/test/bridge/util","orm/src/test/java/org/hibernate/search/test/embedded/path/depth","orm/src/main/java/org/hibernate/search/orm/jmx","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules","integrationtest/narayana/src/test/java/org/hibernate/search/test","jsr352/core/src","integrationtest/elasticsearch/src/test/java/org/hibernate","jsr352/core/src/main/java/org/hibernate","orm/src/test/java/org/hibernate/search/test/session","engine/src/test/java/org/hibernate/search/testsupport/analyzer","engine/src/main/java/org/hibernate/search/analyzer/definition","serialization/avro","engine/src/main/java/org/hibernate/search/util","elasticsearch/src/test/java/org/hibernate/search/elasticsearch/processor","engine/src/main/java/org/hibernate/search/query","serialization/avro/src/main/java","engine/src/main/java/org/hibernate/search/query/dsl/impl","engine/src/test/java/org/hibernate/search/test/util/impl","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/cfg","integrationtest/narayana/src/test/java/org/hibernate","engine/src/main/java/org/hibernate/search/engine/nulls/codec","integrationtest/performance/orm/src/test/java/org","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/wildfly/util","backends/jms/src/main","integrationtest/wildfly/src/test/java/org/hibernate/search/test","jsr352/core/src/test/java/org/hibernate/search/jsr352/test/util","engine/src/main/java/org/hibernate/search/engine/service","integrationtest","engine/src/main/java/org/hibernate/search/annotations","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/client","integrationtest/performance/sandbox/src/test/java/org/hibernate/search/test","engine/src/test/java/org/hibernate/search/testsupport/concurrency","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jsr352/massindexing","engine/src/main/java/org/hibernate/search/indexes/interceptor","integrationtest/wildfly/src/test/java/org/hibernate/search/test/integration/jgroups","integrationtest/jdk9-modules/src/main/java/org/hibernate/search/test/integration/jdk9_modules/client/model","testing/src/main/java/org","engine/src/main/java/org/hibernate/search/backend/impl","engine/src/test/java/org/hibernate/search/test/engine/service","elasticsearch/src/main/java/org/hibernate/search/elasticsearch/dialect","integrationtest/jsr352/src/test/java/org/hibernate/search/jsr352/massindexing/test","elasticsearch-aws/src/main/java/org/hibernate"]} \ No newline at end of file diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/Elasticsearch2AnalyzerStrategy.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/Elasticsearch2AnalyzerStrategy.java new file mode 100644 index 00000000000..107f8b6f835 --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/Elasticsearch2AnalyzerStrategy.java @@ -0,0 +1,280 @@ +/* + * 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 . + */ +package org.hibernate.search.elasticsearch.analyzer.impl; + +import java.lang.invoke.MethodHandles; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Stream; + +import org.hibernate.search.analyzer.spi.AnalyzerReference; +import org.hibernate.search.analyzer.spi.AnalyzerStrategy; +import org.hibernate.search.annotations.AnalyzerDef; +import org.hibernate.search.annotations.NormalizerDef; +import org.hibernate.search.elasticsearch.analyzer.definition.ElasticsearchAnalysisDefinitionProvider; +import org.hibernate.search.elasticsearch.analyzer.definition.impl.ChainingElasticsearchAnalysisDefinitionRegistry; +import org.hibernate.search.elasticsearch.analyzer.definition.impl.ElasticsearchAnalysisDefinitionRegistry; +import org.hibernate.search.elasticsearch.analyzer.definition.impl.ElasticsearchAnalysisDefinitionRegistryBuilderImpl; +import org.hibernate.search.elasticsearch.analyzer.definition.impl.NamespaceMergingElasticsearchAnalysisDefinitionRegistry; +import org.hibernate.search.elasticsearch.analyzer.definition.impl.SimpleElasticsearchAnalysisDefinitionRegistry; +import org.hibernate.search.elasticsearch.logging.impl.Log; +import org.hibernate.search.elasticsearch.settings.impl.translation.ElasticsearchAnalyzerDefinitionTranslator; +import org.hibernate.search.engine.service.spi.ServiceManager; +import org.hibernate.search.engine.service.spi.ServiceReference; +import org.hibernate.search.exception.SearchException; +import org.hibernate.search.util.impl.ClassLoaderHelper; +import org.hibernate.search.util.impl.ReflectionHelper; +import org.hibernate.search.util.logging.impl.LoggerFactory; + + +/** + * An {@link AnalyzerStrategy} for Elasticsearch 2 to 5.1. + * + * @author Yoann Rodiere + */ +public class Elasticsearch2AnalyzerStrategy implements AnalyzerStrategy { + + private static final Log LOG = LoggerFactory.make( Log.class, MethodHandles.lookup() ); + + private final ServiceManager serviceManager; + + private final SimpleElasticsearchAnalysisDefinitionRegistry defaultDefinitionRegistry; + + public Elasticsearch2AnalyzerStrategy(ServiceManager serviceManager, String analysisDefinitionProviderClassName) { + this.serviceManager = serviceManager; + /* + * Make sure to re-create the default definition registry with each newly instantiated strategy, + * so that the definition providers can add new definitions between two SearchFactory increments. + * Caching those in a Service, for instance, would prevent that. + */ + this.defaultDefinitionRegistry = createDefaultDefinitionRegistry( analysisDefinitionProviderClassName ); + } + + private SimpleElasticsearchAnalysisDefinitionRegistry createDefaultDefinitionRegistry(String providerClassName) { + ElasticsearchAnalysisDefinitionRegistryBuilderImpl builder = + new ElasticsearchAnalysisDefinitionRegistryBuilderImpl(); + + if ( providerClassName != null ) { + ElasticsearchAnalysisDefinitionProvider provider; + try { + Class providerClazz = ClassLoaderHelper.classForName( providerClassName, serviceManager ); + provider = (ElasticsearchAnalysisDefinitionProvider) ReflectionHelper.createInstance( providerClazz, true ); + } + catch (RuntimeException e) { + throw LOG.invalidElasticsearchAnalyzerDefinitionProvider( providerClassName, e ); + } + try { + provider.register( builder ); + } + catch (SearchException e) { // Do not wrap our own exceptions (from the builder, for instance) + throw e; + } + catch (RuntimeException e) { // Do wrap any other exception + throw LOG.invalidLuceneAnalyzerDefinitionProvider( providerClassName, e ); + } + } + + SimpleElasticsearchAnalysisDefinitionRegistry registry = new SimpleElasticsearchAnalysisDefinitionRegistry(); + builder.build( wrapForAdditions( registry ) ); + return registry; + } + + protected ElasticsearchAnalysisDefinitionRegistry wrapForAdditions(ElasticsearchAnalysisDefinitionRegistry registry) { + return new NamespaceMergingElasticsearchAnalysisDefinitionRegistry( registry ); + } + + @Override + public ElasticsearchAnalyzerReference createDefaultAnalyzerReference() { + return new NamedElasticsearchAnalyzerReference( "default" ); + } + + @Override + public ElasticsearchAnalyzerReference createPassThroughAnalyzerReference() { + return new NamedElasticsearchAnalyzerReference( "keyword" ); + } + + @Override + public Map createProvidedAnalyzerReferences() { + Map references = new HashMap<>(); + for ( String defaultAnalyzerName : defaultDefinitionRegistry.getAnalyzerDefinitions().keySet() ) { + NamedElasticsearchAnalyzerReference reference = createNamedAnalyzerReference( defaultAnalyzerName ); + references.put( defaultAnalyzerName, reference ); + } + return references; + } + + @Override + public NamedElasticsearchAnalyzerReference createNamedAnalyzerReference(String name) { + return new NamedElasticsearchAnalyzerReference( name ); + } + + @Override + public ElasticsearchAnalyzerReference createLuceneClassAnalyzerReference(Class analyzerClass) { + return new LuceneClassElasticsearchAnalyzerReference( analyzerClass ); + } + + @Override + public Map createProvidedNormalizerReferences() { + Map references = new HashMap<>(); + for ( String name : defaultDefinitionRegistry.getNormalizerDefinitions().keySet() ) { + AnalyzerReference reference = createNamedNormalizerReference( name ); + references.put( name, reference ); + } + return references; + } + + @Override + public ElasticsearchAnalyzerReference createNamedNormalizerReference(String name) { + return new NamedElasticsearch2NormalizerReference( name ); + } + + @Override + public ElasticsearchAnalyzerReference createLuceneClassNormalizerReference(Class analyzerClass) { + throw LOG.cannotUseNormalizerImpl( analyzerClass ); + } + + @Override + public void initializeReferences(Collection analyzerReferences, Map mappingAnalyzerDefinitions, + Collection normalizerReferences, Map mappingNormalizerDefinitions) { + try ( ServiceReference translatorReference = + serviceManager.requestReference( ElasticsearchAnalyzerDefinitionTranslator.class ) ) { + ElasticsearchAnalyzerDefinitionTranslator translator = translatorReference.get(); + + // First, create a registry containing all relevant definitions + ElasticsearchAnalysisDefinitionRegistry definitionRegistry = + createDefinitionRegistry( analyzerReferences, mappingAnalyzerDefinitions, + normalizerReferences, mappingNormalizerDefinitions, + defaultDefinitionRegistry, translator ); + + // When all definitions are known and translated, actually initialize the references + Stream.concat( analyzerReferences.stream(), normalizerReferences.stream() ) + .map( this::getUninitializedReference ) + .filter( Objects::nonNull ) + .forEach( r -> r.initialize( definitionRegistry, translator ) ); + } + } + + private ElasticsearchAnalysisDefinitionRegistry createDefinitionRegistry( + Collection analyzerReferences, + Map analyzerDefinitions, + Collection normalizerReferences, + Map normalizerDefinitions, + ElasticsearchAnalysisDefinitionRegistry defaultDefinitionRegistry, + ElasticsearchAnalyzerDefinitionTranslator translator) { + ElasticsearchAnalysisDefinitionRegistry localDefinitionRegistry = + new SimpleElasticsearchAnalysisDefinitionRegistry(); + + /* + * Make default definitions accessible in the final definition registry. + * This final registry has two scopes: + * - the "local" scope, which contains every definition gathered from pre-existing references (see below) + * and definitions from the mapping + * - the "default"/"global" scope, which contains definitions from the default registry (see above). + * + * When fetching definitions, the "local" scope takes precedence over the "default"/"global" scope. + * + * Note that thanks to this setup, changes to pre-existing default definitions are ignored. + */ + ElasticsearchAnalysisDefinitionRegistry chainingRegistry = + new ChainingElasticsearchAnalysisDefinitionRegistry( + localDefinitionRegistry, defaultDefinitionRegistry ); + + ElasticsearchAnalysisDefinitionRegistry definitionRegistry = wrapForAdditions( chainingRegistry ); + + /* + * First, populate the registry with definitions from already initialized references. + * + * Those can occur if we are currently "incrementing" + * on top of a previous version of the search factory. + * In this case, we want to add previous definitions to the registry, + * so as to check that we don't have conflicts + * between the previous definitions and some new ones. + * + * This is especially necessary to handle cases where normalizers are translated + * to analyzers under the hood (ES 5.1 and below), which means normalizer definitions + * and analyzer definitions will share the same namespace even if references don't. + * See HSEARCH-2730 and why it was rejected for details. + */ + Stream.concat( analyzerReferences.stream(), normalizerReferences.stream() ) + .map( this::getInitializedNamedReference ) + .filter( Objects::nonNull ) + // Note: these references don't handle scope, we don't care about the field name + .forEach( r -> r.registerDefinitions( null, definitionRegistry ) ); + + /* + * Once the registry has been populated with pre-existing definitions, + * add the new definitions as needed, throwing exceptions if there are conflicts. + * + * Note that we populate the registry only with the definitions we actually use. + * That's because some @AnalyzerDef's cannot be translated, + * and users may decide to add such definitions anyway because they need them + * for entities indexed in an embedded Lucene instance (not ES). + */ + TranslatingElasticsearchAnalysisDefinitionRegistryPopulator translatingPopulator = + new TranslatingElasticsearchAnalysisDefinitionRegistryPopulator( definitionRegistry, translator ); + + analyzerReferences.stream() + .map( this::getUninitializedNamedReference ) + .filter( Objects::nonNull ) + // Note: these references don't handle scope, we don't care about the field name + .map( r -> r.getAnalyzerName( null ) ) + .map( analyzerDefinitions::get ) + .filter( Objects::nonNull ) + .forEach( translatingPopulator::registerAnalyzerDef ); + + normalizerReferences.stream() + .map( this::getUninitializedNamedReference ) + .filter( Objects::nonNull ) + // Note: these references don't handle scope, we don't care about the field name + .map( r -> r.getAnalyzerName( null ) ) + .map( normalizerDefinitions::get ) + .filter( Objects::nonNull ) + .forEach( translatingPopulator::registerNormalizerDef ); + + return definitionRegistry; + } + + private NamedElasticsearchAnalyzerReference getInitializedNamedReference(AnalyzerReference reference) { + if ( reference.is( NamedElasticsearchAnalyzerReference.class ) ) { + NamedElasticsearchAnalyzerReference esReference = reference.unwrap( NamedElasticsearchAnalyzerReference.class ); + if ( esReference.isInitialized() ) { + return esReference; + } + } + return null; + } + + private NamedElasticsearchAnalyzerReference getUninitializedNamedReference(AnalyzerReference reference) { + ElasticsearchAnalyzerReference esReference = getUninitializedReference( reference ); + if ( esReference != null && esReference.is( NamedElasticsearchAnalyzerReference.class ) ) { + return esReference.unwrap( NamedElasticsearchAnalyzerReference.class ); + } + return null; + } + + private ElasticsearchAnalyzerReference getUninitializedReference(AnalyzerReference reference) { + if ( reference.is( ElasticsearchAnalyzerReference.class ) ) { + ElasticsearchAnalyzerReference esReference = reference.unwrap( ElasticsearchAnalyzerReference.class ); + if ( !esReference.isInitialized() ) { + return esReference; + } + } + return null; + } + + @Override + public ScopedElasticsearchAnalyzerReference.Builder buildScopedAnalyzerReference(AnalyzerReference initialGlobalAnalyzerReference) { + return new ScopedElasticsearchAnalyzerReference.Builder( + initialGlobalAnalyzerReference.unwrap( ElasticsearchAnalyzerReference.class ), + Collections.emptyMap() + ); + } + +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/StreamingOperationDispatcher.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/StreamingOperationDispatcher.java new file mode 100644 index 00000000000..bfa15848fd9 --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/StreamingOperationDispatcher.java @@ -0,0 +1,58 @@ +/* + * 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 . + */ +package org.hibernate.search.backend.impl; + +import java.util.List; + +import org.hibernate.search.backend.IndexingMonitor; +import org.hibernate.search.backend.LuceneWork; +import org.hibernate.search.backend.spi.OperationDispatcher; +import org.hibernate.search.engine.spi.EntityIndexBinding; +import org.hibernate.search.indexes.spi.IndexManager; +import org.hibernate.search.indexes.spi.IndexManagerSelector; +import org.hibernate.search.spi.IndexedTypeIdentifier; +import org.hibernate.search.spi.SearchIntegrator; + +/** + * A streaming dispatcher, sending works to the + * {@link IndexManager#performStreamOperation(LuceneWork, IndexingMonitor, boolean)} + * method of their respective index manager. + * + * @author Yoann Rodiere + */ +public class StreamingOperationDispatcher implements OperationDispatcher { + + private final boolean forceAsync; + private final SearchIntegrator integrator; + + public StreamingOperationDispatcher(SearchIntegrator integrator, boolean forceAsync) { + this.integrator = integrator; + this.forceAsync = forceAsync; + } + + @Override + public void dispatch(LuceneWork work, IndexingMonitor monitor) { + executeWork( work, monitor ); + } + + @Override + public void dispatch(List queue, IndexingMonitor monitor) { + for ( LuceneWork work : queue ) { + executeWork( work, monitor ); + } + } + + private void executeWork(LuceneWork work, IndexingMonitor progressMonitor) { + final IndexedTypeIdentifier entityType = work.getEntityType(); + EntityIndexBinding entityIndexBinding = integrator.getIndexBinding( entityType ); + IndexManagerSelector selector = entityIndexBinding.getIndexManagerSelector(); + StreamingOperationExecutor executor = + work.acceptIndexWorkVisitor( StreamingOperationExecutorSelector.INSTANCE, null ); + executor.performStreamOperation( work, selector, progressMonitor, forceAsync ); + } + +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/batch/DefaultBatchBackend.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/batch/DefaultBatchBackend.java new file mode 100644 index 00000000000..f94d3d1b484 --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/backend/impl/batch/DefaultBatchBackend.java @@ -0,0 +1,101 @@ +/* + * 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 . + */ +package org.hibernate.search.backend.impl.batch; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Set; + +import org.hibernate.search.backend.FlushLuceneWork; +import org.hibernate.search.backend.LuceneWork; +import org.hibernate.search.backend.OptimizeLuceneWork; +import org.hibernate.search.backend.impl.StreamingOperationDispatcher; +import org.hibernate.search.backend.impl.TransactionalOperationDispatcher; +import org.hibernate.search.backend.spi.BatchBackend; +import org.hibernate.search.backend.spi.OperationDispatcher; +import org.hibernate.search.batchindexing.MassIndexerProgressMonitor; +import org.hibernate.search.engine.integration.impl.ExtendedSearchIntegrator; +import org.hibernate.search.engine.spi.EntityIndexBinding; +import org.hibernate.search.indexes.spi.IndexManager; +import org.hibernate.search.spi.IndexedTypeIdentifier; +import org.hibernate.search.spi.IndexedTypeSet; +import org.hibernate.search.spi.IndexedTypeMap; + +/** + * This is not meant to be used as a regular + * backend, only to apply batch changes to the index. Several threads + * are used to make changes to each index, so order of Work processing is not guaranteed. + * + * @author Sanne Grinovero + * @hsearch.experimental First {@code BatchBackend} + */ +public class DefaultBatchBackend implements BatchBackend { + + private final ExtendedSearchIntegrator integrator; + private final MassIndexerProgressMonitor progressMonitor; + private final OperationDispatcher streamingDispatcher; + private final OperationDispatcher transactionalDispatcher; + + public DefaultBatchBackend(ExtendedSearchIntegrator integrator, MassIndexerProgressMonitor progressMonitor) { + this.integrator = integrator; + this.progressMonitor = progressMonitor; + this.streamingDispatcher = new StreamingOperationDispatcher( integrator, true /* forceAsync */ ); + this.transactionalDispatcher = new TransactionalOperationDispatcher( integrator ); + } + + @Override + public void enqueueAsyncWork(LuceneWork work) throws InterruptedException { + streamingDispatcher.dispatch( work, progressMonitor ); + } + + @Override + public void awaitAsyncProcessingCompletion() { + IndexedTypeMap indexBindings = integrator.getIndexBindings(); + for ( EntityIndexBinding indexBinding : indexBindings.values() ) { + for ( IndexManager indexManager : indexBinding.getIndexManagerSelector().all() ) { + indexManager.awaitAsyncProcessingCompletion(); + } + } + } + + @Override + public void doWorkInSync(LuceneWork work) { + //FIXME I need a "Force sync" actually for when using PurgeAll before the indexing starts + transactionalDispatcher.dispatch( work, progressMonitor ); + } + + @Override + public void flush(IndexedTypeSet entityTypes) { + Collection uniqueIndexManagers = uniqueIndexManagerForTypes( entityTypes ); + for ( IndexManager indexManager : uniqueIndexManagers ) { + indexManager.performStreamOperation( FlushLuceneWork.INSTANCE, progressMonitor, false ); + } + } + + @Override + public void optimize(IndexedTypeSet entityTypes) { + Collection uniqueIndexManagers = uniqueIndexManagerForTypes( entityTypes ); + for ( IndexManager indexManager : uniqueIndexManagers ) { + indexManager.performStreamOperation( OptimizeLuceneWork.INSTANCE, progressMonitor, false ); + } + } + + private Collection uniqueIndexManagerForTypes(IndexedTypeSet entityTypes) { + HashMap uniqueBackends = new HashMap( entityTypes.size() ); + for ( IndexedTypeIdentifier type : entityTypes ) { + EntityIndexBinding indexBindingForEntity = integrator.getIndexBinding( type ); + if ( indexBindingForEntity != null ) { + Set indexManagers = indexBindingForEntity.getIndexManagerSelector().all(); + for ( IndexManager im : indexManagers ) { + uniqueBackends.put( im.getIndexName(), im ); + } + } + } + return uniqueBackends.values(); + } + +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/builtin/ArrayBridge.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/builtin/ArrayBridge.java new file mode 100644 index 00000000000..e5ecd2ec345 --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/builtin/ArrayBridge.java @@ -0,0 +1,56 @@ +/* + * 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 . + */ +package org.hibernate.search.bridge.builtin; + +import org.apache.lucene.document.Document; + +import org.hibernate.search.bridge.ContainerBridge; +import org.hibernate.search.bridge.FieldBridge; +import org.hibernate.search.bridge.LuceneOptions; +import org.hibernate.search.util.impl.CollectionHelper; + +/** + * Each entry ({@code null included}) of an array is indexed using the specified {@link org.hibernate.search.bridge.FieldBridge}. + *
+ * A {@code null} array is not indexed. + * + * @author Davide D'Alto + */ +public class ArrayBridge implements FieldBridge, ContainerBridge { + + private final FieldBridge bridge; + + /** + * @param bridge the {@link org.hibernate.search.bridge.FieldBridge} used for each entry of the array + */ + public ArrayBridge(FieldBridge bridge) { + this.bridge = bridge; + } + + @Override + public void set(String name, Object value, Document document, LuceneOptions luceneOptions) { + if ( value != null ) { + indexNotNullArray( name, value, document, luceneOptions ); + } + } + + @Override + public FieldBridge getElementBridge() { + return bridge; + } + + private void indexNotNullArray(String name, Object value, Document document, LuceneOptions luceneOptions) { + // Use CollectionHelper.iterableFromArray to also support arrays of primitive values + for ( Object entry : CollectionHelper.iterableFromArray( value ) ) { + indexEntry( name, entry, document, luceneOptions ); + } + } + + private void indexEntry(String fieldName, Object entry, Document document, LuceneOptions luceneOptions) { + bridge.set( fieldName, entry, document, luceneOptions ); + } +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/util/impl/NumericFieldUtils.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/util/impl/NumericFieldUtils.java new file mode 100644 index 00000000000..8f25c55c042 --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/bridge/util/impl/NumericFieldUtils.java @@ -0,0 +1,171 @@ +/* + * 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 . + */ +package org.hibernate.search.bridge.util.impl; + +import java.util.Calendar; +import java.util.Date; + +import org.apache.lucene.search.NumericRangeQuery; +import org.apache.lucene.search.Query; +import org.hibernate.search.bridge.ContainerBridge; +import org.hibernate.search.bridge.FieldBridge; +import org.hibernate.search.bridge.spi.EncodingBridge; +import org.hibernate.search.metadata.NumericFieldSettingsDescriptor.NumericEncodingType; +import org.hibernate.search.util.logging.impl.Log; +import org.hibernate.search.util.logging.impl.LoggerFactory; +import java.lang.invoke.MethodHandles; + +/** + * Utility class to handle numeric fields. + * + * @author Gustavo Fernandes + * @author Hardy Ferentschik + */ +public final class NumericFieldUtils { + + private static final Log log = LoggerFactory.make( MethodHandles.lookup() ); + + private NumericFieldUtils() { + //not allowed + } + + public static Query createNumericRangeQuery(String fieldName, Object from, Object to, + boolean includeLower, boolean includeUpper) { + + Class numericClass; + + if ( from != null ) { + numericClass = from.getClass(); + } + else if ( to != null ) { + numericClass = to.getClass(); + } + else { + throw log.rangeQueryWithNullToAndFromValue( fieldName ); + } + + if ( Double.class.isAssignableFrom( numericClass ) ) { + return NumericRangeQuery.newDoubleRange( fieldName, (Double) from, (Double) to, includeLower, includeUpper ); + } + if ( Byte.class.isAssignableFrom( numericClass ) ) { + return NumericRangeQuery.newIntRange( fieldName, ( (Byte) from ).intValue(), ( (Byte) to ).intValue(), includeLower, includeUpper ); + } + if ( Short.class.isAssignableFrom( numericClass ) ) { + return NumericRangeQuery.newIntRange( fieldName, ( (Short) from ).intValue(), ( (Short) to ).intValue(), includeLower, includeUpper ); + } + if ( Long.class.isAssignableFrom( numericClass ) ) { + return NumericRangeQuery.newLongRange( fieldName, (Long) from, (Long) to, includeLower, includeUpper ); + } + if ( Integer.class.isAssignableFrom( numericClass ) ) { + return NumericRangeQuery.newIntRange( fieldName, (Integer) from, (Integer) to, includeLower, includeUpper ); + } + if ( Float.class.isAssignableFrom( numericClass ) ) { + return NumericRangeQuery.newFloatRange( fieldName, (Float) from, (Float) to, includeLower, includeUpper ); + } + if ( Date.class.isAssignableFrom( numericClass ) ) { + Long fromValue = from != null ? ((Date) from).getTime() : null; + Long toValue = to != null ? ((Date) to).getTime() : null; + return NumericRangeQuery.newLongRange( fieldName, fromValue, toValue, includeLower, includeUpper ); + } + if ( Calendar.class.isAssignableFrom( numericClass ) ) { + Long fromValue = from != null ? ((Calendar) from).getTime().getTime() : null; + Long toValue = to != null ? ((Calendar) to).getTime().getTime() : null; + return NumericRangeQuery.newLongRange( fieldName, fromValue, toValue, includeLower, includeUpper ); + } + if ( java.time.Duration.class.isAssignableFrom( numericClass ) ) { + Long fromValue = from != null ? ( (java.time.Duration) from ).toNanos() : null; + Long toValue = to != null ? ( (java.time.Duration) to ).toNanos() : null; + return NumericRangeQuery.newLongRange( fieldName, fromValue, toValue, includeLower, includeUpper ); + } + if ( java.time.Year.class.isAssignableFrom( numericClass ) ) { + Integer fromValue = from != null ? ( (java.time.Year) from ).getValue() : null; + Integer toValue = to != null ? ( (java.time.Year) to ).getValue() : null; + return NumericRangeQuery.newIntRange( fieldName, fromValue, toValue, includeLower, includeUpper ); + } + if ( java.time.Instant.class.isAssignableFrom( numericClass ) ) { + Long fromValue = from != null ? ( (java.time.Instant) from ).toEpochMilli() : null; + Long toValue = to != null ? ( (java.time.Instant) to ).toEpochMilli() : null; + return NumericRangeQuery.newLongRange( fieldName, fromValue, toValue, includeLower, includeUpper ); + } + + throw log.numericRangeQueryWithNonNumericToAndFromValues( fieldName ); + } + + /** + * Will create a {@code RangeQuery} matching exactly the provided value: lower + * and upper value match, and bounds are included. This should perform + * as efficiently as a TermQuery. + * + * @param fieldName the field name the query targets + * @param value the value to match + * @return the created {@code Query} + */ + public static Query createExactMatchQuery(String fieldName, Object value) { + return createNumericRangeQuery( fieldName, value, value, true, true ); + } + + /** + * When the type of {@code RangeQuery} needs to be guessed among keyword based ranges or numeric based + * range queries, the parameter type defines the strategy. + * + * Note that this is currently only used by the Infinispan backend as a fallback and it should be used with a lot + * of caution as it does not take into account backend specific behaviors. + * For instance, when indexing on Elasticsearch, Dates require a keyword range query. + * + * This should match the default {@code FieldBridge} used for each type. + * @param value on Object + * @return true if the value argument is of any type which is by default indexed as a NumericField + */ + public static boolean requiresNumericRangeQuery(Object value) { + if ( value == null ) { + return false; + } + return value instanceof Double || + value instanceof Byte || + value instanceof Short || + value instanceof Long || + value instanceof Integer || + value instanceof Float || + value instanceof Date || + value instanceof Calendar || + value instanceof java.time.Instant || + value instanceof java.time.Year || + value instanceof java.time.Duration; + } + + /** + * Indicates whether the considered {@code FieldBridge} is a numeric one. + * + * @param fieldBridge the considered {@code FieldBridge} + * @return true if the considered {@code FieldBridge} is a numeric {@code FieldBridge} + */ + public static boolean isNumericFieldBridge(FieldBridge fieldBridge) { + EncodingBridge encodingBridge = BridgeAdaptorUtils.unwrapAdaptorOnly( fieldBridge, EncodingBridge.class ); + return !NumericEncodingType.UNKNOWN.equals( getNumericEncoding( encodingBridge ) ); + } + + /** + * Indicates whether the considered {@code FieldBridge}, or its {@link ContainerBridge#getElementBridge() element bridge}, + * is a numeric one. + * + * @param fieldBridge the considered {@code FieldBridge} + * @return true if the considered {@code FieldBridge} is a numeric {@code FieldBridge} + */ + public static boolean isNumericContainerOrNumericFieldBridge(FieldBridge fieldBridge) { + EncodingBridge encodingBridge = BridgeAdaptorUtils.unwrapAdaptorAndContainer( fieldBridge, EncodingBridge.class ); + return !NumericEncodingType.UNKNOWN.equals( getNumericEncoding( encodingBridge ) ); + } + + private static NumericEncodingType getNumericEncoding(EncodingBridge encodingBridge) { + if ( encodingBridge != null ) { + return encodingBridge.getEncodingType(); + } + else { + return NumericEncodingType.UNKNOWN; + } + } +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/engine/impl/TokenizerChain.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/engine/impl/TokenizerChain.java new file mode 100644 index 00000000000..6f84e9701d2 --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/engine/impl/TokenizerChain.java @@ -0,0 +1,73 @@ +/* + * 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 . + */ +package org.hibernate.search.engine.impl; + +import java.io.Reader; + +import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.util.CharFilterFactory; +import org.apache.lucene.analysis.util.TokenFilterFactory; +import org.apache.lucene.analysis.util.TokenizerFactory; + +/** + * Inspired by Apache Solr's org.apache.solr.analysis.TokenizerChain.TokenizerChain + */ +public final class TokenizerChain extends Analyzer { + + private final CharFilterFactory[] charFilters; + private final TokenizerFactory tokenizer; + private final TokenFilterFactory[] filters; + + public TokenizerChain(CharFilterFactory[] charFilters, TokenizerFactory tokenizer, TokenFilterFactory[] filters) { + this.charFilters = charFilters != null ? charFilters : new CharFilterFactory[0]; + this.tokenizer = tokenizer; + this.filters = filters != null ? filters : new TokenFilterFactory[0]; + } + + @Override + public Reader initReader(final String fieldName, final Reader reader) { + if ( charFilters.length > 0 ) { + Reader cs = reader; + for ( CharFilterFactory charFilter : charFilters ) { + cs = charFilter.create( cs ); + } + return cs; + } + else { + return reader; + } + } + + @Override + protected TokenStreamComponents createComponents(String fieldName) { + Tokenizer tk = tokenizer.create(); + TokenStream ts = tk; + for ( TokenFilterFactory filter : filters ) { + ts = filter.create( ts ); + } + return new TokenStreamComponents( tk, ts ); + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder( "TokenizerChain(" ); + for ( CharFilterFactory filter : charFilters ) { + sb.append( filter ); + sb.append( ", " ); + } + sb.append( tokenizer ); + for ( TokenFilterFactory filter : filters ) { + sb.append( ", " ); + sb.append( filter ); + } + sb.append( ')' ); + return sb.toString(); + } + +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/spatial/impl/DistanceQuery.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/spatial/impl/DistanceQuery.java new file mode 100644 index 00000000000..f85d775598a --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/spatial/impl/DistanceQuery.java @@ -0,0 +1,267 @@ +/* + * 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 . + */ +package org.hibernate.search.spatial.impl; + +import static org.hibernate.search.spatial.impl.CoordinateHelper.coordinate; + +import java.io.IOException; +import java.util.Objects; + +import org.apache.lucene.index.DocValues; +import org.apache.lucene.index.IndexReader; +import org.apache.lucene.index.LeafReader; +import org.apache.lucene.index.LeafReaderContext; +import org.apache.lucene.index.NumericDocValues; +import org.apache.lucene.search.DocIdSetIterator; +import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.MatchAllDocsQuery; +import org.apache.lucene.search.Query; +import org.apache.lucene.search.Scorer; +import org.apache.lucene.search.TwoPhaseIterator; +import org.apache.lucene.search.Weight; +import org.apache.lucene.util.Bits; +import org.hibernate.search.spatial.Coordinates; +import org.hibernate.search.spatial.SpatialFieldBridgeByRange; + +/** + * Lucene distance Query for documents which have been indexed with {@link SpatialFieldBridgeByRange} + * Use double lat,long field in the index from a Coordinates field declaration + * + * @author Nicolas Helleringer + * @see org.hibernate.search.spatial.SpatialFieldBridgeByHash + * @see org.hibernate.search.spatial.SpatialFieldBridgeByRange + * @see org.hibernate.search.spatial.Coordinates + */ +public final class DistanceQuery extends Query { + + private final Query approximationQuery; + private final Point center; + private final double radius; + private final String coordinatesField; + private final String latitudeField; + private final String longitudeField; + + /** + * Construct a distance query to match document distant at most of radius from center Point + * + * @param approximationQuery an approximation for this distance query + * (i.e. a query that produces no false-negatives, but may produce false-positives), or {@code null}. + * If non-null, only documents returned by the approximation query will be considered, + * which will enhance performance. + * @param centerCoordinates center of the search perimeter + * @param radius radius of the search perimeter + * @param coordinatesField name of the field implementing Coordinates + * @see org.hibernate.search.spatial.Coordinates + */ + public DistanceQuery(Query approximationQuery, Coordinates centerCoordinates, double radius, String coordinatesField) { + this( approximationQuery, centerCoordinates, radius, coordinatesField, null, null ); + } + + /** + * Construct a distance query to match document distant at most of radius from center Point + * + * @param approximationQuery an approximation for this distance query + * (i.e. a query that produces no false-negatives, but may produce false-positives), or {@code null}. + * If non-null, only documents returned by the approximation query will be considered, + * which will enhance performance. + * @param centerCoordinates center of the search perimeter + * @param radius radius of the search perimeter + * @param latitudeField name of the field hosting latitude + * @param longitudeField name of the field hosting longitude + * @see org.hibernate.search.spatial.Coordinates + */ + public DistanceQuery(Query approximationQuery, Coordinates centerCoordinates, double radius, String latitudeField, String longitudeField) { + this( approximationQuery, centerCoordinates, radius, null, latitudeField, longitudeField ); + } + + private DistanceQuery(Query approximationQuery, Coordinates centerCoordinates, double radius, String coordinatesField, String latitudeField, String longitudeField) { + if ( approximationQuery == null ) { + this.approximationQuery = new MatchAllDocsQuery(); + } + else { + this.approximationQuery = approximationQuery; + } + this.center = Point.fromCoordinates( centerCoordinates ); + this.radius = radius; + this.coordinatesField = coordinatesField; + this.latitudeField = latitudeField; + this.longitudeField = longitudeField; + } + + @Override + public Query rewrite(IndexReader reader) throws IOException { + Query superRewritten = super.rewrite( reader ); + if ( superRewritten != this ) { + return superRewritten; + } + Query rewrittenApproximationQuery = approximationQuery.rewrite( reader ); + if ( rewrittenApproximationQuery != approximationQuery ) { + DistanceQuery clone = new DistanceQuery( rewrittenApproximationQuery, this.center, this.radius, this.coordinatesField, this.latitudeField, this.longitudeField ); + return clone; + } + return this; + } + + @Override + public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException { + Weight approximationWeight = approximationQuery.createWeight( searcher, needsScores ); + return new ConstantScoreWeight( this ) { + @Override + public Scorer scorer(LeafReaderContext context) throws IOException { + Scorer approximationScorer = approximationWeight.scorer( context ); + if ( approximationScorer == null ) { + // No result + return null; + } + DocIdSetIterator approximation = approximationScorer.iterator(); + TwoPhaseIterator iterator = createDocIdSetIterator( approximation, context ); + return new ConstantScoreScorer( this, score(), iterator ); + } + }; + } + + /** + * Returns a {@link TwoPhaseIterator} that will first check the {@link #approximationQuery} (if any), + * and will only match documents whose coordinates are within distance(radius) of the center of the search. + * + * @param approximation an approximation of matching documents. + * @param context the {@link LeafReaderContext} for which to return the {LeafReaderContext}. + * + * @return a {@link TwoPhaseIterator} with the matching document ids + */ + private TwoPhaseIterator createDocIdSetIterator(DocIdSetIterator approximation, LeafReaderContext context) throws IOException { + return new TwoPhaseIterator( approximation ) { + + private Bits docsWithLatitude; + private Bits docsWithLongitude; + private NumericDocValues latitudeValues; + private NumericDocValues longitudeValues; + + private void lazyInit() throws IOException { + if ( docsWithLatitude != null ) { + return; + } + LeafReader atomicReader = context.reader(); + this.docsWithLatitude = DocValues.getDocsWithField( atomicReader, getLatitudeField() ); + this.docsWithLongitude = DocValues.getDocsWithField( atomicReader, getLongitudeField() ); + this.latitudeValues = DocValues.getNumeric( atomicReader, getLatitudeField() ); + this.longitudeValues = DocValues.getNumeric( atomicReader, getLongitudeField() ); + } + + @Override + public boolean matches() throws IOException { + lazyInit(); + int docID = approximation().docID(); + if ( docsWithLatitude.get( docID ) && docsWithLongitude.get( docID ) ) { + double lat = coordinate( latitudeValues, docID ); + double lon = coordinate( longitudeValues, docID ); + if ( center.getDistanceTo( lat, lon ) <= radius ) { + return true; + } + } + return false; + } + + @Override + public float matchCost() { + /* + * I honestly have no idea how many "simple operations" we're performing here. + * I suppose sines and cosines are very low-level, probably assembly instructions + * on most architectures. + * Some Lucene implementations seem to use 100 as a default, so let's do the same. + */ + return 100; + } + }; + } + + public String getCoordinatesField() { + if ( coordinatesField != null ) { + return coordinatesField; + } + else { + return SpatialHelper.stripSpatialFieldSuffix( latitudeField ); + } + } + + public double getRadius() { + return radius; + } + + public Point getCenter() { + return center; + } + + public Query getApproximationQuery() { + return approximationQuery; + } + + private String getLatitudeField() { + if ( latitudeField != null ) { + return latitudeField; + } + else { + return SpatialHelper.formatLatitude( coordinatesField ); + } + } + + private String getLongitudeField() { + if ( longitudeField != null ) { + return longitudeField; + } + else { + return SpatialHelper.formatLongitude( coordinatesField ); + } + } + + @Override + public int hashCode() { + int hashCode = 31 * super.hashCode() + approximationQuery.hashCode(); + hashCode = 31 * hashCode + center.hashCode(); + hashCode = 31 * hashCode + Double.hashCode( radius ); + hashCode = 31 * hashCode + Objects.hashCode( coordinatesField ); + hashCode = 31 * hashCode + Objects.hashCode( latitudeField ); + hashCode = 31 * hashCode + Objects.hashCode( longitudeField ); + return hashCode; + } + + @Override + public boolean equals(Object obj) { + if ( obj == this ) { + return true; + } + if ( obj instanceof DistanceQuery ) { + DistanceQuery other = (DistanceQuery) obj; + return Float.floatToIntBits( getBoost() ) == Float.floatToIntBits( other.getBoost() ) + && approximationQuery.equals( other.approximationQuery ) + && center.equals( other.center ) + && radius == other.radius + && Objects.equals( coordinatesField, other.coordinatesField ) + && Objects.equals( latitudeField, other.latitudeField ) + && Objects.equals( longitudeField, other.longitudeField ); + } + return false; + } + + @Override + public String toString(String field) { + final StringBuilder sb = new StringBuilder(); + sb.append( "DistanceQuery" ); + sb.append( "{approximationQuery=" ).append( approximationQuery ); + sb.append( ", center=" ).append( center ); + sb.append( ", radius=" ).append( radius ); + if ( coordinatesField != null ) { + sb.append( ", coordinatesField='" ).append( coordinatesField ).append( '\'' ); + } + else { + sb.append( ", latitudeField=" ).append( latitudeField ); + sb.append( ", longitudeField=" ).append( longitudeField ).append( '\'' ); + } + sb.append( '}' ); + return sb.toString(); + } +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/util/impl/ClassLoaderHelper.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/util/impl/ClassLoaderHelper.java new file mode 100644 index 00000000000..4fe64f749ea --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/engine/src/main/java/org/hibernate/search/util/impl/ClassLoaderHelper.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package org.hibernate.search.util.impl; + +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.HashMap; +import java.util.Map; + +import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.util.Version; +import org.hibernate.search.exception.SearchException; +import org.hibernate.search.engine.service.classloading.spi.ClassLoaderService; +import org.hibernate.search.engine.service.classloading.spi.ClassLoadingException; +import org.hibernate.search.engine.service.spi.ServiceManager; +import org.hibernate.search.util.StringHelper; +import org.hibernate.search.util.logging.impl.Log; +import org.hibernate.search.util.logging.impl.LoggerFactory; + +/** + * Utility class to load instances of other classes by using a fully qualified name, + * or from a class type. + * Uses reflection and throws SearchException(s) with proper descriptions of the error, + * like the target class is missing a proper constructor, is an interface, is not found... + * + * @author Sanne Grinovero + * @author Hardy Ferentschik + * @author Ales Justin + */ +public class ClassLoaderHelper { + + private static final Log log = LoggerFactory.make( MethodHandles.lookup() ); + + private ClassLoaderHelper() { + } + + /** + * Creates an instance of a target class specified by the fully qualified class name using a {@link ClassLoader} + * as fallback when the class cannot be found in the context one. + * + * @param matches the type of targetSuperType: defines the return type + * @param targetSuperType the return type of the function, the classNameToLoad will be checked + * to be assignable to this type. + * @param classNameToLoad a fully qualified class name, whose type is assignable to targetSuperType + * @param componentDescription a meaningful description of the role the instance will have, + * used to enrich error messages to describe the context of the error + * @param serviceManager Service manager allowing access to the class loading service + * + * @return a new instance of the type given by {@code classNameToLoad} + * + * @throws SearchException wrapping other error types with a proper error message for all kind of problems, like + * classNotFound, missing proper constructor, wrong type, security errors. + */ + public static T instanceFromName(Class targetSuperType, + String classNameToLoad, + String componentDescription, + ServiceManager serviceManager) { + final Class clazzDef = classForName( classNameToLoad, componentDescription, serviceManager ); + return instanceFromClass( targetSuperType, clazzDef, componentDescription ); + } + + /** + * Creates an instance of target class + * + * @param the type of targetSuperType: defines the return type + * @param targetSuperType the created instance will be checked to be assignable to this type + * @param classToLoad the class to be instantiated + * @param componentDescription a role name/description to contextualize error messages + * + * @return a new instance of classToLoad + * + * @throws SearchException wrapping other error types with a proper error message for all kind of problems, like + * missing proper constructor, wrong type, securitymanager errors. + */ + public static T instanceFromClass(Class targetSuperType, Class classToLoad, String componentDescription) { + checkClassType( classToLoad, componentDescription ); + final Object instance = untypedInstanceFromClass( classToLoad, componentDescription ); + return verifySuperTypeCompatibility( targetSuperType, instance, classToLoad, componentDescription ); + } + + /** + * Creates an instance of target class. Similar to {@link #instanceFromClass(Class, Class, String)} but not checking + * the created instance will be of any specific type: using {@link #instanceFromClass(Class, Class, String)} should + * be preferred whenever possible. + * + * @param the type of targetSuperType: defines the return type + * @param classToLoad the class to be instantiated + * @param componentDescription a role name/description to contextualize error messages. Ideally should be provided, but it can handle null. + * + * @return a new instance of classToLoad + * + * @throws SearchException wrapping other error types with a proper error message for all kind of problems, like + * missing proper constructor, securitymanager errors. + */ + public static T untypedInstanceFromClass(final Class classToLoad, final String componentDescription) { + checkClassType( classToLoad, componentDescription ); + Constructor constructor = getNoArgConstructor( classToLoad, componentDescription ); + try { + return (T) constructor.newInstance(); + } + catch (IllegalAccessException | InvocationTargetException | InstantiationException e) { + if ( StringHelper.isEmpty( componentDescription ) ) { + throw new SearchException( "Unable to instantiate class: '" + classToLoad.getName() + "'. Class or constructor is not accessible." ); + } + else { + throw new SearchException( "Unable to instantiate " + componentDescription + " class: '" + classToLoad.getName() + "'. Class or constructor is not accessible." ); + } + } + } + + /** + * Verifies that an object instance is implementing a specific interface, or extending a type. + * + * @param targetSuperType the type to extend, or the interface it should implement + * @param instance the object instance to be verified + * @param classToLoad the Class of the instance + * @param componentDescription a user friendly description of the component represented by the verified instance + * + * @return the same instance + */ + @SuppressWarnings("unchecked") + private static T verifySuperTypeCompatibility(Class targetSuperType, Object instance, Class classToLoad, String componentDescription) { + if ( !targetSuperType.isInstance( instance ) ) { + // have a proper error message according to interface implementation or subclassing + if ( targetSuperType.isInterface() ) { + throw new SearchException( + "Wrong configuration of " + componentDescription + ": class " + classToLoad.getName() + + " does not implement interface " + targetSuperType.getName() + ); + } + else { + throw new SearchException( + "Wrong configuration of " + componentDescription + ": class " + classToLoad.getName() + + " is not a subtype of " + targetSuperType.getName() + ); + } + } + else { + return (T) instance; + } + } + + /** + * Creates an instance of target class having a Map of strings as constructor parameter. + * Most of the Analyzer SPIs provided by Lucene have such a constructor. + * + * @param the type of targetSuperType: defines the return type + * @param targetSuperType the created instance will be checked to be assignable to this type + * @param classToLoad the class to be instantiated + * @param componentDescription a role name/description to contextualize error messages + * @param constructorParameter a Map to be passed to the constructor. The loaded type must have such a constructor. + * + * @return a new instance of classToLoad + * + * @throws SearchException wrapping other error types with a proper error message for all kind of problems, like + * missing proper constructor, wrong type, security errors. + */ + public static T instanceFromClass(Class targetSuperType, Class classToLoad, String componentDescription, + Map constructorParameter) { + checkClassType( classToLoad, componentDescription ); + Constructor singleMapConstructor = getSingleMapConstructor( classToLoad, componentDescription ); + if ( constructorParameter == null ) { + constructorParameter = new HashMap( 0 );//can't use the emptyMap singleton as it needs to be mutable + } + final Object instance; + try { + instance = singleMapConstructor.newInstance( constructorParameter ); + } + catch (Exception e) { + throw new SearchException( + "Unable to instantiate " + componentDescription + " class: " + classToLoad.getName() + + ". The implementation class did not recognize the applied parameters.", e + ); + } + return verifySuperTypeCompatibility( targetSuperType, instance, classToLoad, componentDescription ); + } + + public static Analyzer analyzerInstanceFromClass(Class classToInstantiate, Version luceneMatchVersion) { + checkClassType( classToInstantiate, "analyzer" ); + Analyzer analyzerInstance; + + // try to get a constructor with a version parameter + Constructor constructor; + boolean useVersionParameter = true; + try { + constructor = classToInstantiate.getConstructor( Version.class ); + } + catch (NoSuchMethodException e) { + try { + constructor = classToInstantiate.getConstructor(); + useVersionParameter = false; + } + catch (NoSuchMethodException nsme) { + StringBuilder msg = new StringBuilder( "Unable to instantiate analyzer class: " ); + msg.append( classToInstantiate.getName() ); + msg.append( ". Class neither has a default constructor nor a constructor with a Version parameter" ); + throw new SearchException( msg.toString(), e ); + } + } + + try { + if ( useVersionParameter ) { + analyzerInstance = (Analyzer) constructor.newInstance( luceneMatchVersion ); + } + else { + analyzerInstance = (Analyzer) constructor.newInstance(); + } + } + catch (IllegalAccessException e) { + throw new SearchException( + "Unable to instantiate analyzer class: " + classToInstantiate.getName() + + ". Class or constructor is not accessible.", e + ); + } + catch (InstantiationException e) { + throw new SearchException( + "Unable to instantiate analyzer class: " + classToInstantiate.getName() + + ". Verify it has a no-args public constructor and is not abstract.", e + ); + } + catch (InvocationTargetException e) { + throw new SearchException( + "Unable to instantiate analyzer class: " + classToInstantiate.getName() + + ". Verify it has a no-args public constructor and is not abstract." + + " Also Analyzer implementation classes or their tokenStream() and reusableTokenStream() implementations must be final.", + e + ); + } + return analyzerInstance; + } + + private static void checkClassType(Class classToLoad, String componentDescription) { + if ( classToLoad.isInterface() ) { + throw new SearchException( + classToLoad.getName() + " defined for component " + componentDescription + + " is an interface: implementation required." + ); + } + } + + /** + * Verifies if target class has a no-args constructor, and that it is + * accessible in current security manager. + * If checks are succesfull, return the constructor; otherwise appropriate exceptions are thrown. + * @param classToLoad the class type to check + * @param componentDescription adds a meaningful description to the type to describe in the error messsage + */ + private static Constructor getNoArgConstructor(Class classToLoad, String componentDescription) { + try { + return classToLoad.getConstructor(); + } + catch (SecurityException e) { + throw new SearchException( + classToLoad.getName() + " defined for component " + componentDescription + + " could not be instantiated because of a security manager error", e + ); + } + catch (NoSuchMethodException e) { + throw log.noPublicNoArgConstructor( componentDescription, classToLoad ); + } + } + + private static Constructor getSingleMapConstructor(Class classToLoad, String componentDescription) { + try { + return classToLoad.getConstructor( Map.class ); + } + catch (SecurityException e) { + throw new SearchException( + classToLoad.getName() + " defined for component " + componentDescription + + " could not be instantiated because of a security manager error", e + ); + } + catch (NoSuchMethodException e) { + throw new SearchException( + classToLoad.getName() + " defined for component " + componentDescription + + " is missing an appropriate constructor: expected a public constructor with a single parameter of type Map" + ); + } + } + + public static Class classForName(String classNameToLoad, String componentDescription, ServiceManager serviceManager) { + Class clazz; + ClassLoaderService classLoaderService = serviceManager.getClassLoaderService(); + try { + clazz = classLoaderService.classForName( classNameToLoad ); + } + catch (ClassLoadingException e) { + throw new SearchException( + "Unable to find " + componentDescription + + " implementation class: " + classNameToLoad, e + ); + } + return clazz; + } + + public static Class classForName(Class targetSuperType, + String classNameToLoad, + String componentDescription, + ServiceManager serviceManager) { + final Class clazzDef = classForName( classNameToLoad, componentDescription, serviceManager ); + try { + return clazzDef.asSubclass( targetSuperType ); + } + catch (ClassCastException cce) { + throw new SearchException( + "Unable to load class for " + componentDescription + ". Configured implementation " + classNameToLoad + + " is not assignable to type " + targetSuperType + ); + } + } + + /** + * Perform resolution of a class name. + *

+ * Here we first check the context classloader, if one, before delegating to + * {@link Class#forName(String, boolean, ClassLoader)} using the caller's classloader + * + * @param classNameToLoad The class name + * @param serviceManager The service manager from which to retrieve the class loader service + * + * @return The class reference. + * + * @throws ClassLoadingException From {@link Class#forName(String, boolean, ClassLoader)}. + */ + public static Class classForName(String classNameToLoad, ServiceManager serviceManager) { + ClassLoaderService classLoaderService = serviceManager.getClassLoaderService(); + return classLoaderService.classForName( classNameToLoad ); + } +} diff --git a/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/orm/src/main/java/org/hibernate/search/query/hibernate/impl/FullTextQueryImpl.java b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/orm/src/main/java/org/hibernate/search/query/hibernate/impl/FullTextQueryImpl.java new file mode 100644 index 00000000000..e4f6ef8dc92 --- /dev/null +++ b/src/test/resources/oracle/commits/hibernate-search-5b778035965d7588ad1d1ae522c4bafebd3a0e16/orm/src/main/java/org/hibernate/search/query/hibernate/impl/FullTextQueryImpl.java @@ -0,0 +1,665 @@ +/* + * 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 . + */ +package org.hibernate.search.query.hibernate.impl; + +import java.util.Calendar; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +import javax.persistence.FlushModeType; +import javax.persistence.LockModeType; +import javax.persistence.Parameter; +import javax.persistence.TemporalType; + +import org.apache.lucene.search.Explanation; +import org.apache.lucene.search.Filter; +import org.apache.lucene.search.Sort; +import org.hibernate.Criteria; +import org.hibernate.HibernateException; +import org.hibernate.LockMode; +import org.hibernate.LockOptions; +import org.hibernate.ScrollMode; +import org.hibernate.TypeMismatchException; +import org.hibernate.engine.spi.SessionImplementor; +import org.hibernate.hql.internal.QueryExecutionRequestException; +import org.hibernate.query.ParameterMetadata; +import org.hibernate.query.QueryParameter; +import org.hibernate.query.internal.AbstractProducedQuery; +import org.hibernate.query.spi.QueryImplementor; +import org.hibernate.query.spi.QueryParameterBindings; +import org.hibernate.query.spi.ScrollableResultsImplementor; +import org.hibernate.search.FullTextQuery; +import org.hibernate.search.engine.integration.impl.ExtendedSearchIntegrator; +import org.hibernate.search.filter.FullTextFilter; +import org.hibernate.search.hcore.util.impl.ContextHelper; +import org.hibernate.search.query.DatabaseRetrievalMethod; +import org.hibernate.search.query.ObjectLookupMethod; +import org.hibernate.search.query.engine.spi.DocumentExtractor; +import org.hibernate.search.query.engine.spi.EntityInfo; +import org.hibernate.search.query.engine.spi.FacetManager; +import org.hibernate.search.query.engine.spi.HSQuery; +import org.hibernate.search.query.engine.spi.TimeoutExceptionFactory; +import org.hibernate.search.query.engine.spi.TimeoutManager; +import org.hibernate.search.spatial.Coordinates; +import org.hibernate.search.spatial.impl.Point; +import org.hibernate.search.util.logging.impl.Log; +import org.hibernate.search.util.logging.impl.LoggerFactory; +import java.lang.invoke.MethodHandles; +import org.hibernate.transform.ResultTransformer; +import org.hibernate.type.Type; + +/** + * Implementation of {@link org.hibernate.search.FullTextQuery}. + * + * @author Emmanuel Bernard + * @author Hardy Ferentschik + */ +@SuppressWarnings("rawtypes") // We extend the raw version of AbstractProducedQuery on purpose, see HSEARCH-2564 +public class FullTextQueryImpl extends AbstractProducedQuery implements FullTextQuery { + + private static final Log log = LoggerFactory.make( MethodHandles.lookup() ); + + private ObjectLookupMethod objectLookupMethod; + private DatabaseRetrievalMethod databaseRetrievalMethod; + + private Criteria criteria; + private ResultTransformer resultTransformer; + private int fetchSize = 1; + private final HSQuery hSearchQuery; + private final SessionImplementor session; + + private Integer firstResult; + private Integer maxResults; + //initialized at 0 since we don't expect to use hints at this stage + private final Map hints = new HashMap( 0 ); + + /** + * Constructs a FullTextQueryImpl instance. + * + * @param hSearchQuery The query + * @param session Access to the Hibernate session. + * @param parameterMetadata Additional query metadata. + */ + public FullTextQueryImpl(HSQuery hSearchQuery, + SessionImplementor session, + ParameterMetadata parameterMetadata) { + //TODO handle flushMode + super( session, parameterMetadata ); + this.session = session; + ExtendedSearchIntegrator extendedIntegrator = getExtendedSearchIntegrator(); + this.objectLookupMethod = extendedIntegrator.getDefaultObjectLookupMethod(); + this.databaseRetrievalMethod = extendedIntegrator.getDefaultDatabaseRetrievalMethod(); + + this.hSearchQuery = hSearchQuery; + this.hSearchQuery + .timeoutExceptionFactory( new FullTextQueryTimeoutExceptionFactory() ) + .tenantIdentifier( session.getTenantIdentifier() ); + } + + @Override + public FullTextQueryImpl setSort(Sort sort) { + hSearchQuery.sort( sort ); + return this; + } + + @Override + @Deprecated + public FullTextQueryImpl setFilter(Filter filter) { + hSearchQuery.filter( filter ); + return this; + } + + @Override + public List getResultList() { + return list(); + } + + /** + * Return an iterator on the results. + * Retrieve the object one by one (initialize it during the next() operation) + */ + @Override + public Iterator iterate() { + //implement an iterator which keep the id/class for each hit and get the object on demand + //cause I can't keep the searcher and hence the hit opened. I don't have any hook to know when the + //user stops using it + //scrollable is better in this area + + hSearchQuery.getTimeoutManager().start(); + final List entityInfos = hSearchQuery.queryEntityInfos(); + //stop timeout manager, the iterator pace is in the user's hands + hSearchQuery.getTimeoutManager().stop(); + //TODO is this no-loader optimization really needed? + final Iterator iterator; + if ( entityInfos.size() == 0 ) { + iterator = new IteratorImpl( entityInfos, noLoader ); + return iterator; + } + else { + Loader loader = getLoader(); + iterator = new IteratorImpl( entityInfos, loader ); + } + hSearchQuery.getTimeoutManager().stop(); + return iterator; + } + + + /** + * Decide which object loader to use depending on the targeted entities. If there is only a single entity targeted + * a QueryLoader can be used which will only execute a single query to load the entities. If more than + * one entity is targeted a MultiClassesQueryLoader must be used. We also have to consider whether + * projections or Criteria are used. + * + * @return The loader instance to use to load the results of the query. + */ + private Loader getLoader() { + ObjectLoaderBuilder loaderBuilder = new ObjectLoaderBuilder() + .criteria( criteria ) + .targetedEntities( hSearchQuery.getTargetedEntities() ) + .indexedTargetedEntities( hSearchQuery.getIndexedTargetedEntities().toPojosSet() ) + .session( session ) + .searchFactory( hSearchQuery.getExtendedSearchIntegrator() ) + .timeoutManager( hSearchQuery.getTimeoutManager() ) + .lookupMethod( objectLookupMethod ) + .retrievalMethod( databaseRetrievalMethod ); + if ( hSearchQuery.getProjectedFields() != null ) { + return getProjectionLoader( loaderBuilder ); + } + else { + return loaderBuilder.buildLoader(); + } + } + + private Loader getProjectionLoader(ObjectLoaderBuilder loaderBuilder) { + ProjectionLoader loader = new ProjectionLoader(); + loader.init( + session, + hSearchQuery.getExtendedSearchIntegrator(), + resultTransformer, + loaderBuilder, + hSearchQuery.getProjectedFields(), + hSearchQuery.getTimeoutManager(), + hSearchQuery.hasThisProjection() + ); + return loader; + } + + @Override + public ScrollableResultsImpl scroll() { + //keep the searcher open until the resultset is closed + + hSearchQuery.getTimeoutManager().start(); + final DocumentExtractor documentExtractor = hSearchQuery.queryDocumentExtractor(); + //stop timeout manager, the iterator pace is in the user's hands + hSearchQuery.getTimeoutManager().stop(); + Loader loader = getLoader(); + return new ScrollableResultsImpl( + fetchSize, + documentExtractor, + loader, + this.session, + hSearchQuery.hasThisProjection() + ); + } + + @Override + public ScrollableResultsImplementor scroll(ScrollMode scrollMode) { + //TODO think about this scrollmode + return scroll(); + } + + @Override + public List list() { + // Reproduce the behavior of AbstractProducedQuery.list() regarding exceptions + try { + return doHibernateSearchList(); + } + catch (QueryExecutionRequestException he) { + throw new IllegalStateException( he ); + } + catch (TypeMismatchException e) { + throw new IllegalArgumentException( e ); + } + catch (HibernateException he) { + throw getExceptionConverter().convert( he ); + } + } + + protected List doHibernateSearchList() { + hSearchQuery.getTimeoutManager().start(); + final List entityInfos = hSearchQuery.queryEntityInfos(); + Loader loader = getLoader(); + List list = loader.load( entityInfos ); + //no need to timeoutManager.isTimedOut from this point, we don't do anything intensive + if ( resultTransformer == null || loader instanceof ProjectionLoader ) { + //stay consistent with transformTuple which can only be executed during a projection + //nothing to do + } + else { + list = resultTransformer.transformList( list ); + } + hSearchQuery.getTimeoutManager().stop(); + return list; + } + + @Override + public Explanation explain(int documentId) { + return hSearchQuery.explain( documentId ); + } + + @Override + public int getResultSize() { + try { + return doGetResultSize(); + } + catch (HibernateException he) { + throw getExceptionConverter().convert( he ); + } + } + + public int doGetResultSize() { + if ( getLoader().isSizeSafe() ) { + return hSearchQuery.queryResultSize(); + } + else { + throw log.cannotGetResultSizeWithCriteriaAndRestriction( criteria.toString() ); + } + } + + @Override + public FullTextQueryImpl setCriteriaQuery(Criteria criteria) { + this.criteria = criteria; + return this; + } + + @Override + public FullTextQueryImpl setProjection(String... fields) { + hSearchQuery.projection( fields ); + return this; + } + + @Override + public FullTextQueryImpl setSpatialParameters(Coordinates center, String fieldName) { + hSearchQuery.setSpatialParameters( center, fieldName ); + return this; + } + + @Override + public FullTextQueryImpl setSpatialParameters(double latitude, double longitude, String fieldName) { + setSpatialParameters( Point.fromDegrees( latitude, longitude ), fieldName ); + return this; + } + + @Override + public FullTextQuery setMaxResults(int maxResults) { + if ( maxResults < 0 ) { + throw new IllegalArgumentException( + "Negative (" + + maxResults + + ") parameter passed in to setMaxResults" + ); + } + hSearchQuery.maxResults( maxResults ); + this.maxResults = maxResults; + return this; + } + + @Override + public int getMaxResults() { + return maxResults == null || maxResults == -1 + ? Integer.MAX_VALUE + : maxResults; + } + + @Override + public FullTextQuery setFirstResult(int firstResult) { + if ( firstResult < 0 ) { + throw new IllegalArgumentException( + "Negative (" + + firstResult + + ") parameter passed in to setFirstResult" + ); + } + hSearchQuery.firstResult( firstResult ); + this.firstResult = firstResult; + return this; + } + + @Override + public int getFirstResult() { + return firstResult == null ? 0 : firstResult; + } + + @Override + public FullTextQuery setHint(String hintName, Object value) { + hints.put( hintName, value ); + if ( "javax.persistence.query.timeout".equals( hintName ) ) { + if ( value == null ) { + //nothing + } + else if ( value instanceof String ) { + setTimeout( Long.parseLong( (String) value ), TimeUnit.MILLISECONDS ); + } + else if ( value instanceof Number ) { + setTimeout( ( (Number) value ).longValue(), TimeUnit.MILLISECONDS ); + } + } + return this; + } + + @Override + public Map getHints() { + return hints; + } + + @Override // No generics, see unwrap() (same issue) + public FullTextQueryImpl setParameter(Parameter tParameter, Object t) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override // No generics, see unwrap() (same issue) + public FullTextQueryImpl setParameter(Parameter calendarParameter, Calendar calendar, TemporalType temporalType) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override // No generics, see unwrap() (same issue) + public FullTextQueryImpl setParameter(Parameter dateParameter, Date date, TemporalType temporalType) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public FullTextQueryImpl setParameter(String name, Object value) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public FullTextQueryImpl setParameter(String name, Date value, TemporalType temporalType) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public FullTextQueryImpl setParameter(String name, Calendar value, TemporalType temporalType) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public FullTextQueryImpl setParameter(int position, Object value) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public FullTextQueryImpl setParameter(int position, Date value, TemporalType temporalType) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + @SuppressWarnings("unchecked") + public Set> getParameters() { + return Collections.EMPTY_SET; + } + + @Override + protected QueryParameterBindings getQueryParameterBindings() { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public FullTextQueryImpl setParameter(int position, Calendar value, TemporalType temporalType) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public QueryParameter getParameter(String name) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public QueryParameter getParameter(int position) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override // No generics, see unwrap() (same issue) + public QueryParameter getParameter(String name, Class type) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override // No generics, see unwrap() (same issue) + public QueryParameter getParameter(int position, Class type) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override // No generics, see unwrap() (same issue) + public boolean isBound(Parameter param) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override // No generics, see unwrap() (same issue) + public Object getParameterValue(Parameter param) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public Object getParameterValue(String name) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public Object getParameterValue(int position) { + throw new UnsupportedOperationException( "parameters not supported in fullText queries" ); + } + + @Override + public FullTextQueryImpl setFlushMode(FlushModeType flushModeType) { + return (FullTextQueryImpl) super.setFlushMode( flushModeType ); + } + + @Override + public FullTextQueryImpl setFetchSize(int fetchSize) { + super.setFetchSize( fetchSize ); + if ( fetchSize <= 0 ) { + throw new IllegalArgumentException( "'fetch size' parameter less than or equals to 0" ); + } + this.fetchSize = fetchSize; + return this; + } + + @Override + public QueryImplementor setLockOptions(LockOptions lockOptions) { + throw new UnsupportedOperationException( "Lock options are not implemented in Hibernate Search queries" ); + } + + @Deprecated + @Override + public FullTextQueryImpl setResultTransformer(ResultTransformer transformer) { + super.setResultTransformer( transformer ); + this.resultTransformer = transformer; + return this; + } + + /* + * Implementation note: this method is defined as generic in the interface, + * but we must implement it without generics (otherwise it won't compile). + * + * The actual reason is a bit hard to explain: basically we implement + * javax.persistence.Query as a raw type at some point, and our superclass + * (also extended as a raw type) also implements this interface, but as a non-raw type. + * This seems to confuse the compiler, which thinks there are two different methods. + */ + @Override + @SuppressWarnings("unchecked") + public Object unwrap(Class type) { + //I've purposely decided not to return the underlying Hibernate FullTextQuery + //as I see this as an implementation detail that should not be exposed. + if ( type == org.apache.lucene.search.Query.class ) { + return hSearchQuery.getLuceneQuery(); + } + throw new IllegalArgumentException( "Cannot unwrap " + type.getName() ); + } + + @Override + public FullTextQueryImpl setLockMode(LockModeType lockModeType) { + throw new UnsupportedOperationException( "lock modes not supported in fullText queries" ); + } + + @Override + public LockModeType getLockMode() { + throw new UnsupportedOperationException( "lock modes not supported in fullText queries" ); + } + + @Override + public LockOptions getLockOptions() { + throw new UnsupportedOperationException( "Lock options are not implemented in Hibernate Search queries" ); + } + + @Override + public int executeUpdate() { + throw new UnsupportedOperationException( "executeUpdate is not supported in Hibernate Search queries" ); + } + + @Override + public QueryImplementor setLockMode(String alias, LockMode lockMode) { + throw new UnsupportedOperationException( "Lock options are not implemented in Hibernate Search queries" ); + } + + protected Map getLockModes() { + throw new UnsupportedOperationException( "Lock options are not implemented in Hibernate Search queries" ); + } + + @Override + public FullTextFilter enableFullTextFilter(String name) { + return hSearchQuery.enableFullTextFilter( name ); + } + + @Override + public void disableFullTextFilter(String name) { + hSearchQuery.disableFullTextFilter( name ); + } + + @Override + public FacetManager getFacetManager() { + return hSearchQuery.getFacetManager(); + } + + @Override + public FullTextQueryImpl setTimeout(int timeout) { + return setTimeout( timeout, TimeUnit.SECONDS ); + } + + @Override + public FullTextQueryImpl setTimeout(long timeout, TimeUnit timeUnit) { + super.setTimeout( (int) timeUnit.toSeconds( timeout ) ); + hSearchQuery.getTimeoutManager().setTimeout( timeout, timeUnit ); + hSearchQuery.getTimeoutManager().raiseExceptionOnTimeout(); + return this; + } + + @Override + public FullTextQueryImpl limitExecutionTimeTo(long timeout, TimeUnit timeUnit) { + hSearchQuery.getTimeoutManager().setTimeout( timeout, timeUnit ); + hSearchQuery.getTimeoutManager().limitFetchingOnTimeout(); + return this; + } + + @Override + public boolean hasPartialResults() { + return hSearchQuery.getTimeoutManager().hasPartialResults(); + } + + @Override + public FullTextQueryImpl initializeObjectsWith(ObjectLookupMethod lookupMethod, DatabaseRetrievalMethod retrievalMethod) { + this.objectLookupMethod = lookupMethod; + this.databaseRetrievalMethod = retrievalMethod; + return this; + } + + private ExtendedSearchIntegrator getExtendedSearchIntegrator() { + return ContextHelper.getSearchIntegratorBySessionImplementor( session ); + } + + @Override + public String getQueryString() { + return hSearchQuery.getQueryString(); + } + + @Override + protected boolean isNativeQuery() { + return false; + } + + @Deprecated + @Override + public Type[] getReturnTypes() { + throw new UnsupportedOperationException( "getReturnTypes() is not implemented in Hibernate Search queries" ); + } + + @Deprecated + @Override + public String[] getReturnAliases() { + throw new UnsupportedOperationException( "getReturnAliases() is not implemented in Hibernate Search queries" ); + } + + @Deprecated + @Override + public FullTextQueryImpl setEntity(int position, Object val) { + throw new UnsupportedOperationException( "setEntity(int,Object) is not implemented in Hibernate Search queries" ); + } + + @Deprecated + @Override + public FullTextQueryImpl setEntity(String name, Object val) { + throw new UnsupportedOperationException( "setEntity(String,Object) is not implemented in Hibernate Search queries" ); + } + + @Override + public String toString() { + return "FullTextQueryImpl(" + getQueryString() + ")"; + } + + private static final Loader noLoader = new Loader() { + @Override + public void init(SessionImplementor session, + ExtendedSearchIntegrator extendedIntegrator, + ObjectInitializer objectInitializer, + TimeoutManager timeoutManager) { + } + + @Override + public Object load(EntityInfo entityInfo) { + throw new UnsupportedOperationException( "noLoader should not be used" ); + } + + @Override + public Object loadWithoutTiming(EntityInfo entityInfo) { + throw new UnsupportedOperationException( "noLoader should not be used" ); + } + + @Override + public List load(List entityInfos) { + throw new UnsupportedOperationException( "noLoader should not be used" ); + } + + @Override + public boolean isSizeSafe() { + return false; + } + }; + + private class FullTextQueryTimeoutExceptionFactory implements TimeoutExceptionFactory { + + @Override + public RuntimeException createTimeoutException(String message, String queryDescription) { + return new javax.persistence.QueryTimeoutException( message, null, FullTextQueryImpl.this ); + } + + } +}