From 84fe58cc86cf6f00ebe81eb31d9fac9329db0941 Mon Sep 17 00:00:00 2001 From: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com> Date: Tue, 28 Jun 2022 18:38:05 -0400 Subject: [PATCH] Hsearch namespace consolidation (#3733) * Initial implementation * Implement job cancellation * Works for date and token. Cleanup required. * Works for string and quantity.Cleanup pending. * Works for reference and perform cleanup. * Cleanup configuration and add missing tests * Eliminate sort property registry (no go for a cluster) for a static property map. * Missed in previous commit * Implement HSearch number parameter * Implement HSearch number sorting * Unify different hibernate search names (HibernateSearch, Freetext and Lucene) to HSearch * Move analysis configures for lucene and elastic to same file to enforce the need to keep them in synch * Use new defined constant * Rename package too * Rename additional elastic references * bump version to 6.1.0-PRE5-SNAPSHOT * Restore Hap prefix to hapi configurers * fixing hapi version of new maven module * fix pom * fix pom Co-authored-by: juan.marchionatto Co-authored-by: Ken Stevens --- hapi-deployable-pom/pom.xml | 2 +- hapi-fhir-android/pom.xml | 2 +- hapi-fhir-base/pom.xml | 2 +- hapi-fhir-batch/pom.xml | 2 +- hapi-fhir-bom/pom.xml | 4 +- hapi-fhir-checkstyle/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-api/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-app/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml | 2 +- .../ca/uhn/fhir/jpa/demo/CommonConfig.java | 4 - hapi-fhir-cli/pom.xml | 2 +- hapi-fhir-client-okhttp/pom.xml | 2 +- hapi-fhir-client/pom.xml | 2 +- hapi-fhir-converter/pom.xml | 2 +- hapi-fhir-dist/pom.xml | 2 +- hapi-fhir-docs/pom.xml | 2 +- hapi-fhir-jacoco/pom.xml | 2 +- hapi-fhir-jaxrsserver-base/pom.xml | 2 +- hapi-fhir-jpa/pom.xml | 2 +- hapi-fhir-jpaserver-base/pom.xml | 2 +- .../ca/uhn/fhir/jpa/config/HapiJpaConfig.java | 12 -- .../ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java | 8 +- .../fhir/jpa/dao/FulltextSearchSvcImpl.java | 30 ++-- .../uhn/fhir/jpa/dao/IFulltextSearchSvc.java | 4 +- .../dao/ObservationLastNIndexPersistSvc.java | 3 +- ...java => ExtendedHSearchClauseBuilder.java} | 40 ++--- ...ava => ExtendedHSearchIndexExtractor.java} | 26 +-- ...=> ExtendedHSearchResourceProjection.java} | 6 +- ...java => ExtendedHSearchSearchBuilder.java} | 6 +- .../jpa/dao/search/HSearchSortHelperImpl.java | 16 +- .../fhir/jpa/dao/search/LastNAggregation.java | 2 +- .../fhir/jpa/dao/search/LastNOperation.java | 6 +- .../uhn/fhir/jpa/dao/search/package-info.java | 16 +- .../HapiHSearchAnalysisConfigurers.java | 170 ++++++++++++++++++ .../search/HapiLuceneAnalysisConfigurer.java | 107 ----------- .../TokenAutocompleteAggregation.java | 4 +- .../autocomplete/TokenAutocompleteSearch.java | 4 +- .../ValueSetAutocompleteOptions.java | 2 +- .../jpa/search/builder/SearchBuilder.java | 6 +- ...asticsearchHibernatePropertiesBuilder.java | 10 +- .../HapiElasticsearchAnalysisConfigurer.java | 100 ----------- .../IndexNamePrefixLayoutStrategy.java | 10 +- hapi-fhir-jpaserver-cql/pom.xml | 2 +- hapi-fhir-jpaserver-mdm/pom.xml | 2 +- .../fhir/jpa/mdm/interceptor/MdmEventIT.java | 13 -- hapi-fhir-jpaserver-model/pom.xml | 2 +- .../fhir/jpa/model/entity/ResourceTable.java | 6 +- ...ata.java => ExtendedHSearchIndexData.java} | 10 +- ...entCache.java => HSearchElementCache.java} | 6 +- ...dexWriter.java => HSearchIndexWriter.java} | 14 +- .../search/SearchParamTextPropertyBinder.java | 32 ++-- ...Test.java => HSearchElementCacheTest.java} | 4 +- hapi-fhir-jpaserver-searchparam/pom.xml | 2 +- hapi-fhir-jpaserver-subscription/pom.xml | 2 +- hapi-fhir-jpaserver-test-utilities/pom.xml | 2 +- .../ca/uhn/fhir/jpa/test/BaseJpaTest.java | 3 +- .../fhir/jpa/test/config/TestDstu2Config.java | 4 +- .../fhir/jpa/test/config/TestDstu3Config.java | 4 +- ...onfig.java => TestHSearchAddInConfig.java} | 22 +-- .../fhir/jpa/test/config/TestR4Config.java | 4 +- .../fhir/jpa/test/config/TestR5Config.java | 4 +- .../config/ElasticsearchWithPrefixConfig.java | 7 +- .../FhirResourceDaoDstu2SearchNoFtTest.java | 4 +- .../dao/dstu2/FhirResourceDaoDstu2Test.java | 5 +- ...esourceDaoDstu3PhoneticSearchNoFtTest.java | 4 +- .../FhirResourceDaoDstu3SearchNoFtTest.java | 4 +- .../fhir/jpa/dao/r4/BaseR4SearchLastN.java | 8 +- ...FhirResourceDaoR4ComboUniqueParamTest.java | 8 +- .../dao/r4/FhirResourceDaoR4SearchFtTest.java | 2 +- .../r4/FhirResourceDaoR4SearchLastNIT.java | 4 +- ...astNUsingExtendedHSearchIndexAsyncIT.java} | 12 +- ...archLastNUsingExtendedHSearchIndexIT.java} | 12 +- .../r4/FhirResourceDaoR4SearchNoFtTest.java | 4 +- .../FhirResourceDaoR4SearchNoHashesTest.java | 2 +- .../FhirResourceDaoR4SearchOptimizedTest.java | 2 +- .../r4/FhirResourceDaoR4SearchSqlTest.java | 2 +- ...esourceDaoR4SearchWithElasticSearchIT.java | 40 ++--- ...ceDaoR4SearchWithHSearchDisabledTest.java} | 14 +- ...rResourceDaoR4StandardQueriesNoFTTest.java | 4 +- ...sourceDaoR4TerminologyElasticsearchIT.java | 4 +- .../jpa/dao/r4/FhirResourceDaoR4Test.java | 3 +- .../fhir/jpa/dao/r4/FhirSystemDaoR4Test.java | 2 +- ...ndboxTest.java => HSearchSandboxTest.java} | 18 +- .../jpa/dao/r4/PartitioningSqlR4Test.java | 2 +- ...bservationIndexedSearchParamLastNR4IT.java | 4 +- .../dao/r4/SearchWithInterceptorR4Test.java | 2 +- .../uhn/fhir/jpa/dao/r4/SyntheaPerfTest.java | 4 +- .../r5/FhirResourceDaoR5SearchNoFtTest.java | 7 +- ...xtendedHSearchResourceProjectionTest.java} | 8 +- ...rminologyHSearchIndexingProviderTest.java} | 2 +- .../r4/MultitenantBatchOperationR4Test.java | 2 +- .../r4/ResourceProviderR4ElasticTest.java | 12 +- ...roviderR4ValueSetHSearchDisabledTest.java} | 8 +- .../TokenAutocompleteElasticsearchIT.java | 6 +- .../ValueSetAutocompleteOptionsTest.java | 4 +- .../InMemorySubscriptionMatcherR4Test.java | 4 +- ...stractValueSetHSearchExpansionR4Test.java} | 13 +- .../ValueSetExpansionR4ElasticsearchIT.java | 4 +- ... ValueSetHSearchExpansionR4ElasticIT.java} | 6 +- ...> ValueSetHSearchExpansionR4LuceneIT.java} | 6 +- .../ReindexTerminologyHSearchR4Test.java} | 12 +- hapi-fhir-jpaserver-uhnfhirtest/pom.xml | 2 +- .../uhn/fhirtest/config/TestDstu2Config.java | 5 +- .../uhn/fhirtest/config/TestDstu3Config.java | 5 +- .../ca/uhn/fhirtest/config/TestR4Config.java | 5 +- .../ca/uhn/fhirtest/config/TestR5Config.java | 5 +- hapi-fhir-server-mdm/pom.xml | 7 +- hapi-fhir-server-openapi/pom.xml | 2 +- hapi-fhir-server/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../hapi-fhir-spring-boot-samples/pom.xml | 2 +- .../hapi-fhir-spring-boot-starter/pom.xml | 2 +- hapi-fhir-spring-boot/pom.xml | 2 +- hapi-fhir-sql-migrate/pom.xml | 2 +- hapi-fhir-storage-batch2-jobs/pom.xml | 2 +- hapi-fhir-storage-batch2/pom.xml | 2 +- hapi-fhir-storage-mdm/pom.xml | 2 +- hapi-fhir-storage-test-utilities/pom.xml | 2 +- hapi-fhir-storage/pom.xml | 2 +- .../ca/uhn/fhir/jpa/api/config/DaoConfig.java | 56 +++--- hapi-fhir-structures-dstu2.1/pom.xml | 2 +- hapi-fhir-structures-dstu2/pom.xml | 2 +- hapi-fhir-structures-dstu3/pom.xml | 2 +- hapi-fhir-structures-hl7org-dstu2/pom.xml | 2 +- hapi-fhir-structures-r4/pom.xml | 2 +- hapi-fhir-structures-r5/pom.xml | 2 +- hapi-fhir-test-utilities/pom.xml | 2 +- hapi-fhir-testpage-overlay/pom.xml | 2 +- .../pom.xml | 2 +- hapi-fhir-validation-resources-dstu2/pom.xml | 2 +- hapi-fhir-validation-resources-dstu3/pom.xml | 2 +- hapi-fhir-validation-resources-r4/pom.xml | 2 +- hapi-fhir-validation-resources-r5/pom.xml | 2 +- hapi-fhir-validation/pom.xml | 2 +- hapi-tinder-plugin/pom.xml | 16 +- hapi-tinder-test/pom.xml | 2 +- pom.xml | 4 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- 143 files changed, 569 insertions(+), 643 deletions(-) rename hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/{ExtendedLuceneClauseBuilder.java => ExtendedHSearchClauseBuilder.java} (94%) rename hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/{ExtendedLuceneIndexExtractor.java => ExtendedHSearchIndexExtractor.java} (87%) rename hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/{ExtendedLuceneResourceProjection.java => ExtendedHSearchResourceProjection.java} (86%) rename hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/{ExtendedLuceneSearchBuilder.java => ExtendedHSearchSearchBuilder.java} (96%) create mode 100644 hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiHSearchAnalysisConfigurers.java delete mode 100644 hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiLuceneAnalysisConfigurer.java delete mode 100644 hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/HapiElasticsearchAnalysisConfigurer.java rename hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/{ExtendedLuceneIndexData.java => ExtendedHSearchIndexData.java} (94%) rename hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/{HibernateSearchElementCache.java => HSearchElementCache.java} (92%) rename hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/{HibernateSearchIndexWriter.java => HSearchIndexWriter.java} (93%) rename hapi-fhir-jpaserver-model/src/test/java/ca/uhn/fhir/jpa/model/search/{HibernateSearchElementCacheTest.java => HSearchElementCacheTest.java} (94%) rename hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/{TestHibernateSearchAddInConfig.java => TestHSearchAddInConfig.java} (91%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/{FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexAsyncIT.java => FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexAsyncIT.java} (52%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/{FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexIT.java => FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexIT.java} (84%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/{FhirResourceDaoR4SearchWithLuceneDisabledTest.java => FhirResourceDaoR4SearchWithHSearchDisabledTest.java} (96%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/{HibernateSearchSandboxTest.java => HSearchSandboxTest.java} (97%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/search/{ExtendedLuceneResourceProjectionTest.java => ExtendedHSearchResourceProjectionTest.java} (76%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/{TerminologyFreetextIndexingProviderTest.java => TerminologyHSearchIndexingProviderTest.java} (98%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/{ResourceProviderR4ValueSetLuceneDisabledTest.java => ResourceProviderR4ValueSetHSearchDisabledTest.java} (96%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/{AbstractValueSetFreeTextExpansionR4Test.java => AbstractValueSetHSearchExpansionR4Test.java} (98%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/{ValueSetFreeTextExpansionR4ElasticIT.java => ValueSetHSearchExpansionR4ElasticIT.java} (58%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/{ValueSetFreeTextExpansionR4LuceneIT.java => ValueSetHSearchExpansionR4LuceneIT.java} (62%) rename hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/{freetext/ReindexTerminologyFreetextR4Test.java => hsearch/ReindexTerminologyHSearchR4Test.java} (96%) diff --git a/hapi-deployable-pom/pom.xml b/hapi-deployable-pom/pom.xml index 575483b688f..becf7bda08c 100644 --- a/hapi-deployable-pom/pom.xml +++ b/hapi-deployable-pom/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-android/pom.xml b/hapi-fhir-android/pom.xml index 896ab6cd7b8..0bf81a8d5d8 100644 --- a/hapi-fhir-android/pom.xml +++ b/hapi-fhir-android/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-base/pom.xml b/hapi-fhir-base/pom.xml index b255dc2af59..9c67303c27b 100644 --- a/hapi-fhir-base/pom.xml +++ b/hapi-fhir-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-batch/pom.xml b/hapi-fhir-batch/pom.xml index 1e664578757..4fb75c1f448 100644 --- a/hapi-fhir-batch/pom.xml +++ b/hapi-fhir-batch/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-bom/pom.xml b/hapi-fhir-bom/pom.xml index 328b248091a..39feee1c59b 100644 --- a/hapi-fhir-bom/pom.xml +++ b/hapi-fhir-bom/pom.xml @@ -3,14 +3,14 @@ 4.0.0 ca.uhn.hapi.fhir hapi-fhir-bom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT pom HAPI FHIR BOM ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-checkstyle/pom.xml b/hapi-fhir-checkstyle/pom.xml index 63299152480..80b474ad00a 100644 --- a/hapi-fhir-checkstyle/pom.xml +++ b/hapi-fhir-checkstyle/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml index 0c0961a725d..51d091af99e 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml index 27720d8d1ad..8d8dfd1b303 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-fhir-cli - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml index 681921f2721..f58ac75c3f4 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../../hapi-deployable-pom diff --git a/hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java b/hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java index 377a6243da6..af2abe44a1c 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java +++ b/hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java @@ -23,12 +23,8 @@ package ca.uhn.fhir.jpa.demo; import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.model.config.PartitionSettings; import ca.uhn.fhir.jpa.model.entity.ModelConfig; -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; import org.apache.commons.dbcp2.BasicDataSource; import ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect; -import org.hibernate.search.backend.lucene.cfg.LuceneBackendSettings; -import org.hibernate.search.backend.lucene.cfg.LuceneIndexSettings; -import org.hibernate.search.engine.cfg.BackendSettings; import org.hibernate.search.mapper.orm.cfg.HibernateOrmMapperSettings; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/hapi-fhir-cli/pom.xml b/hapi-fhir-cli/pom.xml index e53e0f1e788..7276c8284a4 100644 --- a/hapi-fhir-cli/pom.xml +++ b/hapi-fhir-cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-client-okhttp/pom.xml b/hapi-fhir-client-okhttp/pom.xml index 3f4f30e73da..2fec4839348 100644 --- a/hapi-fhir-client-okhttp/pom.xml +++ b/hapi-fhir-client-okhttp/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-client/pom.xml b/hapi-fhir-client/pom.xml index ad03666c9a6..986141485bd 100644 --- a/hapi-fhir-client/pom.xml +++ b/hapi-fhir-client/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-converter/pom.xml b/hapi-fhir-converter/pom.xml index 8f7aecebae8..42b436211d0 100644 --- a/hapi-fhir-converter/pom.xml +++ b/hapi-fhir-converter/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-dist/pom.xml b/hapi-fhir-dist/pom.xml index bec7cff911b..70ccaee2c5f 100644 --- a/hapi-fhir-dist/pom.xml +++ b/hapi-fhir-dist/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-docs/pom.xml b/hapi-fhir-docs/pom.xml index 8686d34eb9c..85c85a2390b 100644 --- a/hapi-fhir-docs/pom.xml +++ b/hapi-fhir-docs/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jacoco/pom.xml b/hapi-fhir-jacoco/pom.xml index fd921ddccad..80dc68f0194 100644 --- a/hapi-fhir-jacoco/pom.xml +++ b/hapi-fhir-jacoco/pom.xml @@ -11,7 +11,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jaxrsserver-base/pom.xml b/hapi-fhir-jaxrsserver-base/pom.xml index f772edbde57..7f5dc6627ff 100644 --- a/hapi-fhir-jaxrsserver-base/pom.xml +++ b/hapi-fhir-jaxrsserver-base/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpa/pom.xml b/hapi-fhir-jpa/pom.xml index e5aba6c3221..0712d64851d 100644 --- a/hapi-fhir-jpa/pom.xml +++ b/hapi-fhir-jpa/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-jpaserver-base/pom.xml b/hapi-fhir-jpaserver-base/pom.xml index 5f0756ac64b..b792fb17bdf 100644 --- a/hapi-fhir-jpaserver-base/pom.xml +++ b/hapi-fhir-jpaserver-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/HapiJpaConfig.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/HapiJpaConfig.java index f20b417ac31..48782614594 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/HapiJpaConfig.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/HapiJpaConfig.java @@ -36,7 +36,6 @@ import ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl; import ca.uhn.fhir.jpa.util.ResourceCountCache; import ca.uhn.fhir.jpa.validation.JpaValidationSupportChain; import ca.uhn.fhir.rest.api.IResourceSupportedSvc; -import ca.uhn.fhir.rest.api.RestSearchParameterTypeEnum; import ca.uhn.fhir.rest.server.util.ISearchParamRegistry; import org.hl7.fhir.common.hapi.validation.support.CachingValidationSupport; import org.springframework.batch.core.configuration.annotation.BatchConfigurer; @@ -46,17 +45,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Primary; -import java.util.List; -import java.util.Map; - -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_LOWER; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_PARAM_NAME; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE_NORM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.SEARCH_PARAM_ROOT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.URI_VALUE; - @Configuration @Import({JpaConfig.class}) public class HapiJpaConfig { diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java index 30715c0706a..676c7c3b61b 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java @@ -45,7 +45,7 @@ import ca.uhn.fhir.jpa.model.entity.ResourceTable; import ca.uhn.fhir.jpa.model.entity.ResourceTag; import ca.uhn.fhir.jpa.model.entity.TagDefinition; import ca.uhn.fhir.jpa.model.entity.TagTypeEnum; -import ca.uhn.fhir.jpa.model.search.ExtendedLuceneIndexData; +import ca.uhn.fhir.jpa.model.search.ExtendedHSearchIndexData; import ca.uhn.fhir.jpa.model.search.SearchStatusEnum; import ca.uhn.fhir.jpa.model.search.StorageProcessingMessage; import ca.uhn.fhir.jpa.model.util.JpaConstants; @@ -1889,9 +1889,9 @@ public abstract class BaseHapiFhirDao extends BaseStora } else { theEntity.setNarrativeText(parseNarrativeTextIntoWords(theResource)); theEntity.setContentText(parseContentTextIntoWords(theContext, theResource)); - if (myDaoConfig.isAdvancedLuceneIndexing()) { - ExtendedLuceneIndexData luceneIndexData = myFulltextSearchSvc.extractLuceneIndexData(theResource, theNewParams); - theEntity.setLuceneIndexData(luceneIndexData); + if (myDaoConfig.isAdvancedHSearchIndexing()) { + ExtendedHSearchIndexData hSearchIndexData = myFulltextSearchSvc.extractLuceneIndexData(theResource, theNewParams); + theEntity.setLuceneIndexData(hSearchIndexData); } } } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/FulltextSearchSvcImpl.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/FulltextSearchSvcImpl.java index e6bb1145c43..95b86cb97c5 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/FulltextSearchSvcImpl.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/FulltextSearchSvcImpl.java @@ -24,16 +24,16 @@ import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.i18n.Msg; import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.api.svc.IIdHelperService; -import ca.uhn.fhir.jpa.dao.search.ExtendedLuceneClauseBuilder; -import ca.uhn.fhir.jpa.dao.search.ExtendedLuceneIndexExtractor; -import ca.uhn.fhir.jpa.dao.search.ExtendedLuceneResourceProjection; -import ca.uhn.fhir.jpa.dao.search.ExtendedLuceneSearchBuilder; +import ca.uhn.fhir.jpa.dao.search.ExtendedHSearchClauseBuilder; +import ca.uhn.fhir.jpa.dao.search.ExtendedHSearchIndexExtractor; +import ca.uhn.fhir.jpa.dao.search.ExtendedHSearchResourceProjection; +import ca.uhn.fhir.jpa.dao.search.ExtendedHSearchSearchBuilder; import ca.uhn.fhir.jpa.dao.search.IHSearchSortHelper; import ca.uhn.fhir.jpa.dao.search.LastNOperation; import ca.uhn.fhir.jpa.dao.search.SearchScrollQueryExecutorAdaptor; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.model.entity.ResourceTable; -import ca.uhn.fhir.jpa.model.search.ExtendedLuceneIndexData; +import ca.uhn.fhir.jpa.model.search.ExtendedHSearchIndexData; import ca.uhn.fhir.jpa.search.autocomplete.ValueSetAutocompleteOptions; import ca.uhn.fhir.jpa.search.autocomplete.ValueSetAutocompleteSearch; import ca.uhn.fhir.jpa.search.builder.ISearchQueryExecutor; @@ -102,7 +102,7 @@ public class FulltextSearchSvcImpl implements IFulltextSearchSvc { @Autowired private IHSearchSortHelper myExtendedFulltextSortHelper; - final private ExtendedLuceneSearchBuilder myAdvancedIndexQueryBuilder = new ExtendedLuceneSearchBuilder(); + final private ExtendedHSearchSearchBuilder myAdvancedIndexQueryBuilder = new ExtendedHSearchSearchBuilder(); private Boolean ourDisabled; @@ -113,10 +113,10 @@ public class FulltextSearchSvcImpl implements IFulltextSearchSvc { super(); } - public ExtendedLuceneIndexData extractLuceneIndexData(IBaseResource theResource, ResourceIndexedSearchParams theNewParams) { + public ExtendedHSearchIndexData extractLuceneIndexData(IBaseResource theResource, ResourceIndexedSearchParams theNewParams) { String resourceType = myFhirContext.getResourceType(theResource); ResourceSearchParams activeSearchParams = mySearchParamRegistry.getActiveSearchParams(resourceType); - ExtendedLuceneIndexExtractor extractor = new ExtendedLuceneIndexExtractor( + ExtendedHSearchIndexExtractor extractor = new ExtendedHSearchIndexExtractor( myDaoConfig, myFhirContext, activeSearchParams, mySearchParamExtractor, myModelConfig); return extractor.extract(theResource,theNewParams); } @@ -126,7 +126,7 @@ public class FulltextSearchSvcImpl implements IFulltextSearchSvc { // keep this in sync with the guts of doSearch boolean requiresHibernateSearchAccess = myParams.containsKey(Constants.PARAM_CONTENT) || myParams.containsKey(Constants.PARAM_TEXT) || myParams.isLastN(); - requiresHibernateSearchAccess |= myDaoConfig.isAdvancedLuceneIndexing() && myAdvancedIndexQueryBuilder.isSupportsSomeOf(myParams); + requiresHibernateSearchAccess |= myDaoConfig.isAdvancedHSearchIndexing() && myAdvancedIndexQueryBuilder.isSupportsSomeOf(myParams); return requiresHibernateSearchAccess; } @@ -182,7 +182,7 @@ public class FulltextSearchSvcImpl implements IFulltextSearchSvc { ) .where( f -> f.bool(b -> { - ExtendedLuceneClauseBuilder builder = new ExtendedLuceneClauseBuilder(myFhirContext, myModelConfig, b, f); + ExtendedHSearchClauseBuilder builder = new ExtendedHSearchClauseBuilder(myFhirContext, myModelConfig, b, f); /* * Handle _content parameter (resource body content) @@ -215,7 +215,7 @@ public class FulltextSearchSvcImpl implements IFulltextSearchSvc { /* * Handle other supported parameters */ - if (myDaoConfig.isAdvancedLuceneIndexing() && theParams.getEverythingMode() == null) { + if (myDaoConfig.isAdvancedHSearchIndexing() && theParams.getEverythingMode() == null) { myAdvancedIndexQueryBuilder.addAndConsumeAdvancedQueryClauses(builder, theResourceType, theParams, mySearchParamRegistry); } @@ -341,10 +341,10 @@ public class FulltextSearchSvcImpl implements IFulltextSearchSvc { } SearchSession session = getSearchSession(); - List rawResourceDataList = session.search(ResourceTable.class) + List rawResourceDataList = session.search(ResourceTable.class) .select( f -> f.composite( - ExtendedLuceneResourceProjection::new, + ExtendedHSearchResourceProjection::new, f.field("myId", Long.class), f.field("myForcedId", String.class), f.field("myRawResource", String.class)) @@ -354,8 +354,8 @@ public class FulltextSearchSvcImpl implements IFulltextSearchSvc { .fetchAllHits(); // matches '_id' from resource index ArrayList pidList = new ArrayList<>(thePids); - List orderedAsPidsResourceDataList = rawResourceDataList.stream() - .sorted( Ordering.explicit(pidList).onResultOf(ExtendedLuceneResourceProjection::getPid) ).collect( Collectors.toList() ); + List orderedAsPidsResourceDataList = rawResourceDataList.stream() + .sorted( Ordering.explicit(pidList).onResultOf(ExtendedHSearchResourceProjection::getPid) ).collect( Collectors.toList() ); IParser parser = myFhirContext.newJsonParser(); return orderedAsPidsResourceDataList.stream() diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/IFulltextSearchSvc.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/IFulltextSearchSvc.java index 29a27d25f79..23a028ab3fd 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/IFulltextSearchSvc.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/IFulltextSearchSvc.java @@ -21,7 +21,7 @@ package ca.uhn.fhir.jpa.dao; */ import ca.uhn.fhir.jpa.model.entity.ResourceTable; -import ca.uhn.fhir.jpa.model.search.ExtendedLuceneIndexData; +import ca.uhn.fhir.jpa.model.search.ExtendedHSearchIndexData; import ca.uhn.fhir.jpa.search.autocomplete.ValueSetAutocompleteOptions; import ca.uhn.fhir.jpa.search.builder.ISearchQueryExecutor; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; @@ -67,7 +67,7 @@ public interface IFulltextSearchSvc { boolean isDisabled(); - ExtendedLuceneIndexData extractLuceneIndexData(IBaseResource theResource, ResourceIndexedSearchParams theNewParams); + ExtendedHSearchIndexData extractLuceneIndexData(IBaseResource theResource, ResourceIndexedSearchParams theNewParams); boolean supportsSomeOf(SearchParameterMap myParams); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/ObservationLastNIndexPersistSvc.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/ObservationLastNIndexPersistSvc.java index 315f92aa878..791a5bf2dc2 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/ObservationLastNIndexPersistSvc.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/ObservationLastNIndexPersistSvc.java @@ -23,7 +23,6 @@ package ca.uhn.fhir.jpa.dao; import ca.uhn.fhir.context.*; import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.model.cross.IBasePersistedResource; -import ca.uhn.fhir.jpa.model.entity.ResourceEncodingEnum; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamToken; import ca.uhn.fhir.jpa.model.util.CodeSystemHash; import ca.uhn.fhir.jpa.search.lastn.IElasticsearchSvc; @@ -103,7 +102,7 @@ public class ObservationLastNIndexPersistSvc { indexedObservation.setEffectiveDtm(theEffectiveDtm); indexedObservation.setIdentifier(resourcePID); - if (myConfig.isStoreResourceInLuceneIndex()) { + if (myConfig.isStoreResourceInHSearchIndex()) { indexedObservation.setResource(encodeResource(theResource)); } indexedObservation.setSubject(theSubjectId); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneClauseBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java similarity index 94% rename from hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneClauseBuilder.java rename to hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java index b6fb67a23be..29e6f35e5f7 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneClauseBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java @@ -22,10 +22,10 @@ package ca.uhn.fhir.jpa.dao.search; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.i18n.Msg; -import ca.uhn.fhir.jpa.dao.predicate.SearchFilterParser; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.model.entity.NormalizedQuantitySearchLevel; import ca.uhn.fhir.jpa.model.util.UcumServiceUtil; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.model.api.IQueryParameterType; import ca.uhn.fhir.model.api.TemporalPrecisionEnum; import ca.uhn.fhir.rest.api.Constants; @@ -48,7 +48,6 @@ import org.hibernate.search.engine.search.common.BooleanOperator; import org.hibernate.search.engine.search.predicate.dsl.BooleanPredicateClausesStep; import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep; import org.hibernate.search.engine.search.predicate.dsl.SearchPredicateFactory; -import org.hibernate.search.util.common.data.RangeBoundInclusion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,24 +62,23 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_EXACT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_NORMALIZED; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_TEXT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NUMBER_VALUE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_CODE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_CODE_NORM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_PARAM_NAME; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_SYSTEM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE_NORM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.SEARCH_PARAM_ROOT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.URI_VALUE; -import static org.apache.commons.lang3.ObjectUtils.defaultIfNull; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_EXACT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_NORMALIZED; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_TEXT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.NUMBER_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_CODE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_CODE_NORM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_PARAM_NAME; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_SYSTEM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_VALUE_NORM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.SEARCH_PARAM_ROOT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.URI_VALUE; import static org.apache.commons.lang3.StringUtils.isNotBlank; -public class ExtendedLuceneClauseBuilder { - private static final Logger ourLog = LoggerFactory.getLogger(ExtendedLuceneClauseBuilder.class); +public class ExtendedHSearchClauseBuilder { + private static final Logger ourLog = LoggerFactory.getLogger(ExtendedHSearchClauseBuilder.class); private static final double QTY_APPROX_TOLERANCE_PERCENT = .10; private static final double QTY_TOLERANCE_PERCENT = .05; @@ -92,8 +90,8 @@ public class ExtendedLuceneClauseBuilder { final List ordinalSearchPrecisions = Arrays.asList(TemporalPrecisionEnum.YEAR, TemporalPrecisionEnum.MONTH, TemporalPrecisionEnum.DAY); - public ExtendedLuceneClauseBuilder(FhirContext myFhirContext, ModelConfig theModelConfig, - BooleanPredicateClausesStep myRootClause, SearchPredicateFactory myPredicateFactory) { + public ExtendedHSearchClauseBuilder(FhirContext myFhirContext, ModelConfig theModelConfig, + BooleanPredicateClausesStep myRootClause, SearchPredicateFactory myPredicateFactory) { this.myFhirContext = myFhirContext; this.myModelConfig = theModelConfig; this.myRootClause = myRootClause; @@ -271,7 +269,7 @@ public class ExtendedLuceneClauseBuilder { /** * Normalize the string to match our standardAnalyzer. - * @see ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer#STANDARD_ANALYZER + * @see HapiHSearchAnalysisConfigurers.HapiLuceneAnalysisConfigurer#STANDARD_ANALYZER * * @param theString the raw string * @return a case and accent normalized version of the input diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneIndexExtractor.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java similarity index 87% rename from hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneIndexExtractor.java rename to hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java index a9b5d56f9c7..17c59fb30cf 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneIndexExtractor.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java @@ -26,7 +26,7 @@ import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamDate; import ca.uhn.fhir.jpa.model.entity.ResourceLink; -import ca.uhn.fhir.jpa.model.search.ExtendedLuceneIndexData; +import ca.uhn.fhir.jpa.model.search.ExtendedHSearchIndexData; import ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor; import ca.uhn.fhir.jpa.searchparam.extractor.ResourceIndexedSearchParams; import ca.uhn.fhir.rest.api.RestSearchParameterTypeEnum; @@ -48,11 +48,11 @@ import java.util.Map; import static org.apache.commons.lang3.StringUtils.isNotBlank; /** - * Extract search params for advanced lucene indexing. + * Extract search params for advanced HSearch indexing. *

- * This class re-uses the extracted JPA entities to build an ExtendedLuceneIndexData instance. + * This class re-uses the extracted JPA entities to build an ExtendedHSearchIndexData instance. */ -public class ExtendedLuceneIndexExtractor { +public class ExtendedHSearchIndexExtractor { private final DaoConfig myDaoConfig; private final FhirContext myContext; @@ -60,8 +60,8 @@ public class ExtendedLuceneIndexExtractor { private final ISearchParamExtractor mySearchParamExtractor; private final ModelConfig myModelConfig; - public ExtendedLuceneIndexExtractor(DaoConfig theDaoConfig, FhirContext theContext, ResourceSearchParams theActiveParams, - ISearchParamExtractor theSearchParamExtractor, ModelConfig theModelConfig) { + public ExtendedHSearchIndexExtractor(DaoConfig theDaoConfig, FhirContext theContext, ResourceSearchParams theActiveParams, + ISearchParamExtractor theSearchParamExtractor, ModelConfig theModelConfig) { myDaoConfig = theDaoConfig; myContext = theContext; myParams = theActiveParams; @@ -70,10 +70,10 @@ public class ExtendedLuceneIndexExtractor { } @NotNull - public ExtendedLuceneIndexData extract(IBaseResource theResource, ResourceIndexedSearchParams theNewParams) { - ExtendedLuceneIndexData retVal = new ExtendedLuceneIndexData(myContext, myModelConfig); + public ExtendedHSearchIndexData extract(IBaseResource theResource, ResourceIndexedSearchParams theNewParams) { + ExtendedHSearchIndexData retVal = new ExtendedHSearchIndexData(myContext, myModelConfig); - if(myDaoConfig.isStoreResourceInLuceneIndex()) { + if(myDaoConfig.isStoreResourceInHSearchIndex()) { retVal.setRawResourceData(myContext.newJsonParser().encodeResourceToString(theResource)); } @@ -160,7 +160,7 @@ public class ExtendedLuceneIndexExtractor { /** * Re-extract token parameters so we can distinguish */ - private void extractAutocompleteTokens(IBaseResource theResource, ExtendedLuceneIndexData theRetVal) { + private void extractAutocompleteTokens(IBaseResource theResource, ExtendedHSearchIndexData theRetVal) { // we need to re-index token params to match up display with codes. myParams.values().stream() .filter(p->p.getParamType() == RestSearchParameterTypeEnum.TOKEN) @@ -170,7 +170,7 @@ public class ExtendedLuceneIndexExtractor { )); } - private void indexTokenValue(ExtendedLuceneIndexData theRetVal, RuntimeSearchParam p, IBase nextValue) { + private void indexTokenValue(ExtendedHSearchIndexData theRetVal, RuntimeSearchParam p, IBase nextValue) { String nextType = mySearchParamExtractor.toRootTypeName(nextValue); String spName = p.getName(); switch (nextType) { @@ -194,14 +194,14 @@ public class ExtendedLuceneIndexExtractor { } } - private void addToken_CodeableConcept(ExtendedLuceneIndexData theRetVal, String theSpName, IBase theValue) { + private void addToken_CodeableConcept(ExtendedHSearchIndexData theRetVal, String theSpName, IBase theValue) { List codings = mySearchParamExtractor.getCodingsFromCodeableConcept(theValue); for (IBase nextCoding : codings) { addToken_Coding(theRetVal, theSpName, (IBaseCoding) nextCoding); } } - private void addToken_Coding(ExtendedLuceneIndexData theRetVal, String theSpName, IBaseCoding theNextValue) { + private void addToken_Coding(ExtendedHSearchIndexData theRetVal, String theSpName, IBaseCoding theNextValue) { theRetVal.addTokenIndexData(theSpName, theNextValue); } } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneResourceProjection.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchResourceProjection.java similarity index 86% rename from hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneResourceProjection.java rename to hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchResourceProjection.java index bccd7551440..dd7dcde57d2 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneResourceProjection.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchResourceProjection.java @@ -26,14 +26,14 @@ import org.apache.commons.lang3.Validate; import org.hl7.fhir.instance.model.api.IBaseResource; /** - * Query result when fetching full resources from Hibernate Search. + * Query result when fetching full resources from HSearch. */ -public class ExtendedLuceneResourceProjection { +public class ExtendedHSearchResourceProjection { final long myPid; final String myForcedId; final String myResourceString; - public ExtendedLuceneResourceProjection(long thePid, String theForcedId, String theResourceString) { + public ExtendedHSearchResourceProjection(long thePid, String theForcedId, String theResourceString) { Validate.notEmpty(theResourceString, "Resource not stored in search index: " + thePid); myPid = thePid; myForcedId = theForcedId; diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneSearchBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java similarity index 96% rename from hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneSearchBuilder.java rename to hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java index db2b8587a9d..bd0d7e8d2bf 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneSearchBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java @@ -42,9 +42,9 @@ import java.util.List; import java.util.Set; /** - * Search builder for lucene/elastic for token, string, and reference parameters. + * Search builder for HSearch for token, string, and reference parameters. */ -public class ExtendedLuceneSearchBuilder { +public class ExtendedHSearchSearchBuilder { public static final String EMPTY_MODIFIER = ""; /** @@ -126,7 +126,7 @@ public class ExtendedLuceneSearchBuilder { } } - public void addAndConsumeAdvancedQueryClauses(ExtendedLuceneClauseBuilder builder, String theResourceType, SearchParameterMap theParams, ISearchParamRegistry theSearchParamRegistry) { + public void addAndConsumeAdvancedQueryClauses(ExtendedHSearchClauseBuilder builder, String theResourceType, SearchParameterMap theParams, ISearchParamRegistry theSearchParamRegistry) { // copy the keys to avoid concurrent modification error ArrayList paramNames = compileParamNames(theParams); for (String nextParam : paramNames) { diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchSortHelperImpl.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchSortHelperImpl.java index 3aa5d9ba6bb..92a95d9544f 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchSortHelperImpl.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchSortHelperImpl.java @@ -17,14 +17,14 @@ import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_LOWER; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NUMBER_VALUE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_PARAM_NAME; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE_NORM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.SEARCH_PARAM_ROOT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.URI_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_LOWER; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.NUMBER_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_PARAM_NAME; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_VALUE_NORM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.SEARCH_PARAM_ROOT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.URI_VALUE; /** * Used to build HSearch sort clauses. diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNAggregation.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNAggregation.java index 90bf6a3a19a..99d784e9bc4 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNAggregation.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNAggregation.java @@ -30,7 +30,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.SEARCH_PARAM_ROOT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.SEARCH_PARAM_ROOT; /** * Builds lastN aggregation, and parse the results diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNOperation.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNOperation.java index 7201d10ce6f..b99b4a8d656 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNOperation.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/LastNOperation.java @@ -41,7 +41,7 @@ public class LastNOperation { private final FhirContext myFhirContext; private final ModelConfig myModelConfig; private final ISearchParamRegistry mySearchParamRegistry; - private final ExtendedLuceneSearchBuilder myExtendedLuceneSearchBuilder = new ExtendedLuceneSearchBuilder(); + private final ExtendedHSearchSearchBuilder myExtendedHSearchSearchBuilder = new ExtendedHSearchSearchBuilder(); public LastNOperation(SearchSession theSession, FhirContext theFhirContext, ModelConfig theModelConfig, ISearchParamRegistry theSearchParamRegistry) { @@ -61,8 +61,8 @@ public class LastNOperation { .where(f -> f.bool(b -> { // Must match observation type b.must(f.match().field("myResourceType").matching(OBSERVATION_RES_TYPE)); - ExtendedLuceneClauseBuilder builder = new ExtendedLuceneClauseBuilder(myFhirContext, myModelConfig, b, f); - myExtendedLuceneSearchBuilder.addAndConsumeAdvancedQueryClauses(builder, OBSERVATION_RES_TYPE, theParams.clone(), mySearchParamRegistry); + ExtendedHSearchClauseBuilder builder = new ExtendedHSearchClauseBuilder(myFhirContext, myModelConfig, b, f); + myExtendedHSearchSearchBuilder.addAndConsumeAdvancedQueryClauses(builder, OBSERVATION_RES_TYPE, theParams.clone(), mySearchParamRegistry); })) .aggregation(observationsByCodeKey, f -> f.fromJson(lastNAggregation.toAggregation())) .fetch(0); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/package-info.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/package-info.java index 57ff53a2723..b28588f4502 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/package-info.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/package-info.java @@ -6,8 +6,8 @@ * {@link ca.uhn.fhir.jpa.model.entity.ResourceTable#myContentText}. * This package extends this search to support token, string, and reference parameters via {@link ca.uhn.fhir.jpa.model.entity.ResourceTable#myLuceneIndexData}. * When active, the extracted search parameters which are written to the HFJ_SPIDX_* tables are also written to the Lucene index document. - * For now, we use the existing JPA index entities to populate the {@link ca.uhn.fhir.jpa.model.search.ExtendedLuceneIndexData} - * in {@link ca.uhn.fhir.jpa.dao.search.ExtendedLuceneIndexExtractor#extract(org.hl7.fhir.instance.model.api.IBaseResource, ca.uhn.fhir.jpa.searchparam.extractor.ResourceIndexedSearchParams)} ()} + * For now, we use the existing JPA index entities to populate the {@link ca.uhn.fhir.jpa.model.search.ExtendedHSearchIndexData} + * in {@link ca.uhn.fhir.jpa.dao.search.ExtendedHSearchIndexExtractor#extract(org.hl7.fhir.instance.model.api.IBaseResource, ca.uhn.fhir.jpa.searchparam.extractor.ResourceIndexedSearchParams)} ()} * *

Implementation

* Both {@link ca.uhn.fhir.jpa.search.builder.SearchBuilder} and {@link ca.uhn.fhir.jpa.dao.LegacySearchBuilder} delegate the @@ -15,10 +15,10 @@ * The fulltext search runs first and interprets any search parameters it understands, returning a pid list. * This pid list is used as a narrowing where clause against the remaining unprocessed search parameters in a jdbc query. * The actual queries for the different search types (e.g. token, string, modifiers, etc.) are - * generated in {@link ca.uhn.fhir.jpa.dao.search.ExtendedLuceneSearchBuilder}. + * generated in {@link ca.uhn.fhir.jpa.dao.search.ExtendedHSearchSearchBuilder}. *

* Full resource bodies can be stored in the Hibernate Search index. - * The {@link ca.uhn.fhir.jpa.dao.search.ExtendedLuceneResourceProjection} is used to extract these. + * The {@link ca.uhn.fhir.jpa.dao.search.ExtendedHSearchResourceProjection} is used to extract these. * This is currently restricted to LastN, and misses tag changes from $meta-add and $meta-delete since those don't * update Hibernate Search. *

@@ -26,12 +26,12 @@ *

Operation

* During startup, Hibernate Search uses {@link ca.uhn.fhir.jpa.model.search.SearchParamTextPropertyBinder} to generate a schema. * - * @see ca.uhn.fhir.jpa.model.search.ExtendedLuceneIndexData - * @see ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter - * @see ca.uhn.fhir.jpa.dao.search.ExtendedLuceneSearchBuilder + * @see ca.uhn.fhir.jpa.model.search.ExtendedHSearchIndexData + * @see ca.uhn.fhir.jpa.model.search.HSearchIndexWriter + * @see ca.uhn.fhir.jpa.dao.search.ExtendedHSearchSearchBuilder * @see ca.uhn.fhir.jpa.model.search.SearchParamTextPropertyBinder * - * Activated by {@link ca.uhn.fhir.jpa.api.config.DaoConfig#setAdvancedLuceneIndexing(boolean)}. + * Activated by {@link ca.uhn.fhir.jpa.api.config.DaoConfig#setAdvancedHSearchIndexing(boolean)}. */ package ca.uhn.fhir.jpa.dao.search; diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiHSearchAnalysisConfigurers.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiHSearchAnalysisConfigurers.java new file mode 100644 index 00000000000..1626995c492 --- /dev/null +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiHSearchAnalysisConfigurers.java @@ -0,0 +1,170 @@ +package ca.uhn.fhir.jpa.search; + +import org.apache.lucene.analysis.core.KeywordTokenizerFactory; +import org.apache.lucene.analysis.core.LowerCaseFilterFactory; +import org.apache.lucene.analysis.core.StopFilterFactory; +import org.apache.lucene.analysis.core.WhitespaceTokenizerFactory; +import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilterFactory; +import org.apache.lucene.analysis.miscellaneous.WordDelimiterFilterFactory; +import org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory; +import org.apache.lucene.analysis.ngram.NGramFilterFactory; +import org.apache.lucene.analysis.pattern.PatternTokenizerFactory; +import org.apache.lucene.analysis.phonetic.PhoneticFilterFactory; +import org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory; +import org.apache.lucene.analysis.standard.StandardTokenizerFactory; +import org.hibernate.search.backend.elasticsearch.analysis.ElasticsearchAnalysisConfigurationContext; +import org.hibernate.search.backend.elasticsearch.analysis.ElasticsearchAnalysisConfigurer; +import org.hibernate.search.backend.lucene.analysis.LuceneAnalysisConfigurationContext; +import org.hibernate.search.backend.lucene.analysis.LuceneAnalysisConfigurer; +import org.springframework.stereotype.Component; + +import static ca.uhn.fhir.jpa.model.search.SearchParamTextPropertyBinder.LOWERCASE_ASCIIFOLDING_NORMALIZER; + +/** + * Class includes configuration classes for both Lucene and Elasticsearch as they usually need to be updated + * simultaneously, and otherwise is very easy to miss the second + */ +@Component +public class HapiHSearchAnalysisConfigurers { + + /** + * Factory for defining the analysers. + */ + public static class HapiLuceneAnalysisConfigurer implements LuceneAnalysisConfigurer { + + public static final String STANDARD_ANALYZER = "standardAnalyzer"; + public static final String NORM_STRING_ANALYZER = "normStringAnalyzer"; + public static final String EXACT_ANALYZER = "exactAnalyzer"; + + @Override + public void configure(LuceneAnalysisConfigurationContext theLuceneCtx) { + theLuceneCtx.analyzer("autocompleteEdgeAnalyzer").custom() + .tokenizer(PatternTokenizerFactory.class).param("pattern", "(.*)").param("group", "1") + .tokenFilter(LowerCaseFilterFactory.class) + .tokenFilter(StopFilterFactory.class) + .tokenFilter(EdgeNGramFilterFactory.class) + .param("minGramSize", "3") + .param("maxGramSize", "50"); + + theLuceneCtx.analyzer("autocompletePhoneticAnalyzer").custom() + .tokenizer(StandardTokenizerFactory.class) + .tokenFilter(StopFilterFactory.class) + .tokenFilter(PhoneticFilterFactory.class).param("encoder", "DoubleMetaphone") + .tokenFilter(SnowballPorterFilterFactory.class).param("language", "English"); + + theLuceneCtx.analyzer("autocompleteNGramAnalyzer").custom() + .tokenizer(StandardTokenizerFactory.class) + .tokenFilter(WordDelimiterFilterFactory.class) + .tokenFilter(LowerCaseFilterFactory.class) + .tokenFilter(NGramFilterFactory.class) + .param("minGramSize", "3") + .param("maxGramSize", "20"); + + theLuceneCtx.analyzer("autocompleteWordEdgeAnalyzer").custom() + .tokenizer(StandardTokenizerFactory.class) + .tokenFilter(LowerCaseFilterFactory.class) + .tokenFilter(StopFilterFactory.class) + .tokenFilter(EdgeNGramFilterFactory.class) + .param("minGramSize", "3") + .param("maxGramSize", "20"); + + theLuceneCtx.analyzer(STANDARD_ANALYZER).custom() + .tokenizer(StandardTokenizerFactory.class) + .tokenFilter(LowerCaseFilterFactory.class) + .tokenFilter(ASCIIFoldingFilterFactory.class); + + theLuceneCtx.analyzer(NORM_STRING_ANALYZER).custom() + .tokenizer(KeywordTokenizerFactory.class) + .tokenFilter(LowerCaseFilterFactory.class) + .tokenFilter(ASCIIFoldingFilterFactory.class); + + theLuceneCtx.analyzer(EXACT_ANALYZER).custom() + .tokenizer(KeywordTokenizerFactory.class); + + theLuceneCtx.analyzer("conceptParentPidsAnalyzer").custom() + .tokenizer(WhitespaceTokenizerFactory.class); + + theLuceneCtx.analyzer("termConceptPropertyAnalyzer").custom() + .tokenizer(WhitespaceTokenizerFactory.class); + + theLuceneCtx.normalizer(LOWERCASE_ASCIIFOLDING_NORMALIZER).custom() + .tokenFilter(LowerCaseFilterFactory.class) + .tokenFilter(ASCIIFoldingFilterFactory.class); + + } + } + + + public static class HapiElasticsearchAnalysisConfigurer implements ElasticsearchAnalysisConfigurer { + + @Override + public void configure(ElasticsearchAnalysisConfigurationContext theConfigCtx) { + + theConfigCtx.analyzer("autocompleteEdgeAnalyzer").custom() + .tokenizer("pattern_all") + .tokenFilters("lowercase", "stop", "edgengram_3_50"); + + theConfigCtx.tokenizer("pattern_all") + .type("pattern") + .param("pattern", "(.*)") + .param("group", "1"); + + theConfigCtx.tokenFilter("edgengram_3_50") + .type("edgeNGram") + .param("min_gram", "3") + .param("max_gram", "50"); + + + theConfigCtx.analyzer("autocompleteWordEdgeAnalyzer").custom() + .tokenizer("standard") + .tokenFilters("lowercase", "stop", "wordedgengram_3_50"); + + theConfigCtx.tokenFilter("wordedgengram_3_50") + .type("edgeNGram") + .param("min_gram", "3") + .param("max_gram", "20"); + + theConfigCtx.analyzer("autocompletePhoneticAnalyzer").custom() + .tokenizer("standard") + .tokenFilters("stop", "snowball_english"); + + theConfigCtx.tokenFilter("snowball_english") + .type("snowball") + .param("language", "English"); + + theConfigCtx.analyzer("autocompleteNGramAnalyzer").custom() + .tokenizer("standard") + .tokenFilters("word_delimiter", "lowercase", "ngram_3_20"); + + theConfigCtx.tokenFilter("ngram_3_20") + .type("nGram") + .param("min_gram", "3") + .param("max_gram", "20"); + + + theConfigCtx.analyzer(HapiLuceneAnalysisConfigurer.STANDARD_ANALYZER).custom() + .tokenizer("standard") + .tokenFilters("lowercase", "asciifolding"); + + theConfigCtx.analyzer(HapiLuceneAnalysisConfigurer.NORM_STRING_ANALYZER).custom() + .tokenizer("keyword") // We need the whole string to match, including whitespace. + .tokenFilters("lowercase", "asciifolding"); + + theConfigCtx.analyzer("exactAnalyzer") + .custom() + .tokenizer("keyword") + .tokenFilters("unique"); + + theConfigCtx.analyzer("conceptParentPidsAnalyzer").custom() + .tokenizer("whitespace"); + + theConfigCtx.analyzer("termConceptPropertyAnalyzer").custom() + .tokenizer("whitespace"); + + theConfigCtx.normalizer( LOWERCASE_ASCIIFOLDING_NORMALIZER ).custom() + .tokenFilters( "lowercase", "asciifolding" ); + + } + } + +} diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiLuceneAnalysisConfigurer.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiLuceneAnalysisConfigurer.java deleted file mode 100644 index 9333bc64816..00000000000 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/HapiLuceneAnalysisConfigurer.java +++ /dev/null @@ -1,107 +0,0 @@ -package ca.uhn.fhir.jpa.search; - -/*- - * #%L - * HAPI FHIR JPA Server - * %% - * Copyright (C) 2014 - 2022 Smile CDR, Inc. - * %% - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * #L% - */ - -import org.apache.lucene.analysis.core.KeywordTokenizerFactory; -import org.apache.lucene.analysis.core.LowerCaseFilterFactory; -import org.apache.lucene.analysis.core.StopFilterFactory; -import org.apache.lucene.analysis.core.WhitespaceTokenizerFactory; -import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilterFactory; -import org.apache.lucene.analysis.miscellaneous.WordDelimiterFilterFactory; -import org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory; -import org.apache.lucene.analysis.ngram.NGramFilterFactory; -import org.apache.lucene.analysis.pattern.PatternTokenizerFactory; -import org.apache.lucene.analysis.phonetic.PhoneticFilterFactory; -import org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory; -import org.apache.lucene.analysis.standard.StandardTokenizerFactory; -import org.hibernate.search.backend.lucene.analysis.LuceneAnalysisConfigurationContext; -import org.hibernate.search.backend.lucene.analysis.LuceneAnalysisConfigurer; -import org.springframework.stereotype.Component; - -import static ca.uhn.fhir.jpa.model.search.SearchParamTextPropertyBinder.LOWERCASE_ASCIIFOLDING_NORMALIZER; - -/** - * Factory for defining the analysers. - */ -@Component -public class HapiLuceneAnalysisConfigurer implements LuceneAnalysisConfigurer { - - public static final String STANDARD_ANALYZER = "standardAnalyzer"; - public static final String NORM_STRING_ANALYZER = "normStringAnalyzer"; - public static final String EXACT_ANALYZER = "exactAnalyzer"; - - @Override - public void configure(LuceneAnalysisConfigurationContext theLuceneCtx) { - theLuceneCtx.analyzer("autocompleteEdgeAnalyzer").custom() - .tokenizer(PatternTokenizerFactory.class).param("pattern", "(.*)").param("group", "1") - .tokenFilter(LowerCaseFilterFactory.class) - .tokenFilter(StopFilterFactory.class) - .tokenFilter(EdgeNGramFilterFactory.class) - .param("minGramSize", "3") - .param("maxGramSize", "50"); - - theLuceneCtx.analyzer("autocompletePhoneticAnalyzer").custom() - .tokenizer(StandardTokenizerFactory.class) - .tokenFilter(StopFilterFactory.class) - .tokenFilter(PhoneticFilterFactory.class).param("encoder", "DoubleMetaphone") - .tokenFilter(SnowballPorterFilterFactory.class).param("language", "English"); - - theLuceneCtx.analyzer("autocompleteNGramAnalyzer").custom() - .tokenizer(StandardTokenizerFactory.class) - .tokenFilter(WordDelimiterFilterFactory.class) - .tokenFilter(LowerCaseFilterFactory.class) - .tokenFilter(NGramFilterFactory.class) - .param("minGramSize", "3") - .param("maxGramSize", "20"); - - theLuceneCtx.analyzer("autocompleteWordEdgeAnalyzer").custom() - .tokenizer(StandardTokenizerFactory.class) - .tokenFilter(LowerCaseFilterFactory.class) - .tokenFilter(StopFilterFactory.class) - .tokenFilter(EdgeNGramFilterFactory.class) - .param("minGramSize", "3") - .param("maxGramSize", "20"); - - theLuceneCtx.analyzer(STANDARD_ANALYZER).custom() - .tokenizer(StandardTokenizerFactory.class) - .tokenFilter(LowerCaseFilterFactory.class) - .tokenFilter(ASCIIFoldingFilterFactory.class); - - theLuceneCtx.analyzer(NORM_STRING_ANALYZER).custom() - .tokenizer(KeywordTokenizerFactory.class) - .tokenFilter(LowerCaseFilterFactory.class) - .tokenFilter(ASCIIFoldingFilterFactory.class); - - theLuceneCtx.analyzer(EXACT_ANALYZER).custom() - .tokenizer(KeywordTokenizerFactory.class); - - theLuceneCtx.analyzer("conceptParentPidsAnalyzer").custom() - .tokenizer(WhitespaceTokenizerFactory.class); - - theLuceneCtx.analyzer("termConceptPropertyAnalyzer").custom() - .tokenizer(WhitespaceTokenizerFactory.class); - - theLuceneCtx.normalizer(LOWERCASE_ASCIIFOLDING_NORMALIZER).custom() - .tokenFilter(LowerCaseFilterFactory.class) - .tokenFilter(ASCIIFoldingFilterFactory.class); - - } -} diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteAggregation.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteAggregation.java index 4ff2ffe3298..72897f4b773 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteAggregation.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteAggregation.java @@ -37,8 +37,8 @@ import java.util.List; import java.util.stream.Collectors; import java.util.stream.StreamSupport; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_TEXT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_TEXT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; /** * Compose the autocomplete aggregation, and parse the results. diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteSearch.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteSearch.java index 5fac3a8a0cc..76d19ba0644 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteSearch.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteSearch.java @@ -21,7 +21,7 @@ package ca.uhn.fhir.jpa.search.autocomplete; */ import ca.uhn.fhir.context.FhirContext; -import ca.uhn.fhir.jpa.dao.search.ExtendedLuceneClauseBuilder; +import ca.uhn.fhir.jpa.dao.search.ExtendedHSearchClauseBuilder; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.model.entity.ResourceTable; import com.google.gson.JsonObject; @@ -74,7 +74,7 @@ class TokenAutocompleteSearch { // compose the query json SearchQueryOptionsStep query = mySession.search(ResourceTable.class) .where(predFactory -> predFactory.bool(boolBuilder -> { - ExtendedLuceneClauseBuilder clauseBuilder = new ExtendedLuceneClauseBuilder(myFhirContext, myModelConfig, boolBuilder, predFactory); + ExtendedHSearchClauseBuilder clauseBuilder = new ExtendedHSearchClauseBuilder(myFhirContext, myModelConfig, boolBuilder, predFactory); // we apply resource-level predicates here, at the top level if (isNotBlank(theResourceName)) { diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptions.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptions.java index fa0bbac2a4a..d2df023e592 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptions.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptions.java @@ -82,7 +82,7 @@ public class ValueSetAutocompleteOptions { if (haveId || haveIdentifier || haveValueSet) { throw new InvalidRequestException(Msg.code(2020) + "$expand with contexDirection='existing' is only supported at the type leve. It is not supported at instance level, with a url specified, or with a ValueSet ."); } - if (!theDaoConfig.isAdvancedLuceneIndexing()) { + if (!theDaoConfig.isAdvancedHSearchIndexing()) { throw new InvalidRequestException(Msg.code(2022) + "$expand with contexDirection='existing' requires Extended Lucene Indexing."); } if (theContext == null || theContext.isEmpty()) { diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java index 101cd3718f6..81cd8e175db 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java @@ -426,7 +426,7 @@ public class SearchBuilder implements ISearchBuilder { private List executeLastNAgainstIndex(Integer theMaximumResults) { // Can we use our hibernate search generated index on resource to support lastN?: - if (myDaoConfig.isAdvancedLuceneIndexing()) { + if (myDaoConfig.isAdvancedHSearchIndexing()) { if (myFulltextSearchSvc == null) { throw new InvalidRequestException(Msg.code(2027) + "LastN operation is not enabled on this service, can not process this request"); } @@ -940,7 +940,7 @@ public class SearchBuilder implements ISearchBuilder { private boolean isLoadingFromElasticSearchSupported(Collection thePids) { // is storage enabled? - return myDaoConfig.isStoreResourceInLuceneIndex() && + return myDaoConfig.isStoreResourceInHSearchIndex() && // we don't support history thePids.stream().noneMatch(p->p.getVersion()!=null) && // skip the complexity for metadata in dstu2 @@ -950,7 +950,7 @@ public class SearchBuilder implements ISearchBuilder { private List loadResourcesFromElasticSearch(Collection thePids) { // Do we use the fulltextsvc via hibernate-search to load resources or be backwards compatible with older ES only impl // to handle lastN? - if (myDaoConfig.isAdvancedLuceneIndexing() && myDaoConfig.isStoreResourceInLuceneIndex()) { + if (myDaoConfig.isAdvancedHSearchIndexing() && myDaoConfig.isStoreResourceInHSearchIndex()) { List pidList = thePids.stream().map(ResourcePersistentId::getIdAsLong).collect(Collectors.toList()); // wipmb standardize on ResourcePersistentId diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/ElasticsearchHibernatePropertiesBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/ElasticsearchHibernatePropertiesBuilder.java index 757fe49c03f..05cfa17e5f1 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/ElasticsearchHibernatePropertiesBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/ElasticsearchHibernatePropertiesBuilder.java @@ -20,8 +20,9 @@ package ca.uhn.fhir.jpa.search.elastic; * #L% */ -import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.i18n.Msg; +import ca.uhn.fhir.context.ConfigurationException; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.jpa.search.lastn.ElasticsearchRestClientFactory; import org.apache.commons.lang3.StringUtils; import org.elasticsearch.action.support.master.AcknowledgedResponse; @@ -29,12 +30,12 @@ import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.indices.PutIndexTemplateRequest; import org.elasticsearch.common.settings.Settings; -import org.hibernate.search.backend.elasticsearch.cfg.ElasticsearchBackendSettings; -import org.hibernate.search.backend.elasticsearch.cfg.ElasticsearchIndexSettings; import org.hibernate.search.backend.elasticsearch.index.IndexStatus; import org.hibernate.search.engine.cfg.BackendSettings; import org.hibernate.search.mapper.orm.automaticindexing.session.AutomaticIndexingSynchronizationStrategyNames; import org.hibernate.search.mapper.orm.cfg.HibernateOrmMapperSettings; +import org.hibernate.search.backend.elasticsearch.cfg.ElasticsearchBackendSettings; +import org.hibernate.search.backend.elasticsearch.cfg.ElasticsearchIndexSettings; import org.hibernate.search.mapper.orm.schema.management.SchemaManagementStrategyName; import org.slf4j.Logger; @@ -81,7 +82,8 @@ public class ElasticsearchHibernatePropertiesBuilder { // the below properties are used for ElasticSearch integration theProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "elasticsearch"); - theProperties.put(BackendSettings.backendKey(ElasticsearchIndexSettings.ANALYSIS_CONFIGURER), HapiElasticsearchAnalysisConfigurer.class.getName()); + theProperties.put(BackendSettings.backendKey(ElasticsearchIndexSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiElasticsearchAnalysisConfigurer.class.getName()); theProperties.put(BackendSettings.backendKey(ElasticsearchBackendSettings.HOSTS), myHosts); theProperties.put(BackendSettings.backendKey(ElasticsearchBackendSettings.PROTOCOL), myProtocol); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/HapiElasticsearchAnalysisConfigurer.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/HapiElasticsearchAnalysisConfigurer.java deleted file mode 100644 index 0b6bcd99a9b..00000000000 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/HapiElasticsearchAnalysisConfigurer.java +++ /dev/null @@ -1,100 +0,0 @@ -package ca.uhn.fhir.jpa.search.elastic; - -/*- - * #%L - * HAPI FHIR JPA Server - * %% - * Copyright (C) 2014 - 2022 Smile CDR, Inc. - * %% - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * #L% - */ - -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; -import org.hibernate.search.backend.elasticsearch.analysis.ElasticsearchAnalysisConfigurationContext; -import org.hibernate.search.backend.elasticsearch.analysis.ElasticsearchAnalysisConfigurer; - -import static ca.uhn.fhir.jpa.model.search.SearchParamTextPropertyBinder.LOWERCASE_ASCIIFOLDING_NORMALIZER; - - -public class HapiElasticsearchAnalysisConfigurer implements ElasticsearchAnalysisConfigurer{ - - @Override - public void configure(ElasticsearchAnalysisConfigurationContext theConfigCtx) { - - theConfigCtx.analyzer("autocompleteEdgeAnalyzer").custom() - .tokenizer("pattern_all") - .tokenFilters("lowercase", "stop", "edgengram_3_50"); - - theConfigCtx.tokenizer("pattern_all") - .type("pattern") - .param("pattern", "(.*)") - .param("group", "1"); - - theConfigCtx.tokenFilter("edgengram_3_50") - .type("edgeNGram") - .param("min_gram", "3") - .param("max_gram", "50"); - - - theConfigCtx.analyzer("autocompleteWordEdgeAnalyzer").custom() - .tokenizer("standard") - .tokenFilters("lowercase", "stop", "wordedgengram_3_50"); - - theConfigCtx.tokenFilter("wordedgengram_3_50") - .type("edgeNGram") - .param("min_gram", "3") - .param("max_gram", "20"); - - theConfigCtx.analyzer("autocompletePhoneticAnalyzer").custom() - .tokenizer("standard") - .tokenFilters("stop", "snowball_english"); - - theConfigCtx.tokenFilter("snowball_english") - .type("snowball") - .param("language", "English"); - - theConfigCtx.analyzer("autocompleteNGramAnalyzer").custom() - .tokenizer("standard") - .tokenFilters("word_delimiter", "lowercase", "ngram_3_20"); - - theConfigCtx.tokenFilter("ngram_3_20") - .type("nGram") - .param("min_gram", "3") - .param("max_gram", "20"); - - - theConfigCtx.analyzer(HapiLuceneAnalysisConfigurer.STANDARD_ANALYZER).custom() - .tokenizer("standard") - .tokenFilters("lowercase", "asciifolding"); - - theConfigCtx.analyzer(HapiLuceneAnalysisConfigurer.NORM_STRING_ANALYZER).custom() - .tokenizer("keyword") // We need the whole string to match, including whitespace. - .tokenFilters("lowercase", "asciifolding"); - - theConfigCtx.analyzer("exactAnalyzer") - .custom() - .tokenizer("keyword") - .tokenFilters("unique"); - - theConfigCtx.analyzer("conceptParentPidsAnalyzer").custom() - .tokenizer("whitespace"); - - theConfigCtx.analyzer("termConceptPropertyAnalyzer").custom() - .tokenizer("whitespace"); - - theConfigCtx.normalizer(LOWERCASE_ASCIIFOLDING_NORMALIZER).custom() - .tokenFilters("lowercase", "asciifolding"); - - } -} diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/IndexNamePrefixLayoutStrategy.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/IndexNamePrefixLayoutStrategy.java index 0f042ddce52..01040870177 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/IndexNamePrefixLayoutStrategy.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/elastic/IndexNamePrefixLayoutStrategy.java @@ -37,7 +37,7 @@ import java.util.regex.Pattern; /** * This class instructs hibernate search on how to create index names for indexed entities. * In our case, we use this class to add an optional prefix to all indices which are created, which can be controlled via - * {@link DaoConfig#setElasticSearchIndexPrefix(String)}. + * {@link DaoConfig#setHSearchIndexPrefix(String)}. */ @Service public class IndexNamePrefixLayoutStrategy implements IndexLayoutStrategy { @@ -63,8 +63,8 @@ public class IndexNamePrefixLayoutStrategy implements IndexLayoutStrategy { private String addPrefixIfNecessary(String theCandidateName) { validateDaoConfigIsPresent(); - if (!StringUtils.isBlank(myDaoConfig.getElasticSearchIndexPrefix())) { - return myDaoConfig.getElasticSearchIndexPrefix() + "-" + theCandidateName; + if (!StringUtils.isBlank(myDaoConfig.getHSearchIndexPrefix())) { + return myDaoConfig.getHSearchIndexPrefix() + "-" + theCandidateName; } else { return theCandidateName; } @@ -86,8 +86,8 @@ public class IndexNamePrefixLayoutStrategy implements IndexLayoutStrategy { private String removePrefixIfNecessary(String theCandidateUniqueKey) { validateDaoConfigIsPresent(); - if (!StringUtils.isBlank(myDaoConfig.getElasticSearchIndexPrefix())) { - return theCandidateUniqueKey.replace(myDaoConfig.getElasticSearchIndexPrefix() + "-", ""); + if (!StringUtils.isBlank(myDaoConfig.getHSearchIndexPrefix())) { + return theCandidateUniqueKey.replace(myDaoConfig.getHSearchIndexPrefix() + "-", ""); } else { return theCandidateUniqueKey; } diff --git a/hapi-fhir-jpaserver-cql/pom.xml b/hapi-fhir-jpaserver-cql/pom.xml index 1add583c30d..3c9ed2cf571 100644 --- a/hapi-fhir-jpaserver-cql/pom.xml +++ b/hapi-fhir-jpaserver-cql/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-mdm/pom.xml b/hapi-fhir-jpaserver-mdm/pom.xml index 48f2ac682e4..c455b8eb193 100644 --- a/hapi-fhir-jpaserver-mdm/pom.xml +++ b/hapi-fhir-jpaserver-mdm/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java b/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java index 7218fe8bb89..55b82d91933 100644 --- a/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java +++ b/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java @@ -1,23 +1,14 @@ package ca.uhn.fhir.jpa.mdm.interceptor; -import ca.uhn.fhir.jpa.dao.index.IdHelperService; import ca.uhn.fhir.jpa.entity.MdmLink; import ca.uhn.fhir.jpa.mdm.BaseMdmR4Test; import ca.uhn.fhir.jpa.mdm.helper.MdmHelperConfig; import ca.uhn.fhir.jpa.mdm.helper.MdmHelperR4; -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; -import ca.uhn.fhir.mdm.api.IMdmLink; import ca.uhn.fhir.mdm.api.MdmLinkEvent; import ca.uhn.fhir.mdm.api.MdmLinkJson; import ca.uhn.fhir.mdm.api.MdmMatchResultEnum; -import ca.uhn.fhir.mdm.model.MdmTransactionContext; import ca.uhn.fhir.model.primitive.IdDt; import ca.uhn.fhir.rest.server.messaging.ResourceOperationMessage; -import ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect; -import org.hibernate.search.backend.lucene.cfg.LuceneBackendSettings; -import org.hibernate.search.backend.lucene.cfg.LuceneIndexSettings; -import org.hibernate.search.engine.cfg.BackendSettings; -import org.hibernate.search.mapper.orm.cfg.HibernateOrmMapperSettings; import org.hl7.fhir.instance.model.api.IBaseResource; import org.hl7.fhir.r4.model.Patient; import org.hl7.fhir.r4.model.Practitioner; @@ -25,15 +16,11 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Primary; import org.springframework.data.domain.Example; -import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import java.util.List; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; diff --git a/hapi-fhir-jpaserver-model/pom.xml b/hapi-fhir-jpaserver-model/pom.xml index 85ee73ee543..a25cf69078c 100644 --- a/hapi-fhir-jpaserver-model/pom.xml +++ b/hapi-fhir-jpaserver-model/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/entity/ResourceTable.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/entity/ResourceTable.java index 33957717d9f..fe14197f01a 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/entity/ResourceTable.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/entity/ResourceTable.java @@ -23,7 +23,7 @@ package ca.uhn.fhir.jpa.model.entity; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.jpa.model.cross.IBasePersistedResource; import ca.uhn.fhir.jpa.model.cross.IResourceLookup; -import ca.uhn.fhir.jpa.model.search.ExtendedLuceneIndexData; +import ca.uhn.fhir.jpa.model.search.ExtendedHSearchIndexData; import ca.uhn.fhir.jpa.model.search.ResourceTableRoutingBinder; import ca.uhn.fhir.jpa.model.search.SearchParamTextPropertyBinder; import ca.uhn.fhir.model.primitive.IdDt; @@ -138,7 +138,7 @@ public class ResourceTable extends BaseHasResource implements Serializable, IBas @Transient @IndexingDependency(derivedFrom = @ObjectPath(@PropertyValue(propertyName = "myVersion"))) @PropertyBinding(binder = @PropertyBinderRef(type = SearchParamTextPropertyBinder.class)) - private ExtendedLuceneIndexData myLuceneIndexData; + private ExtendedHSearchIndexData myLuceneIndexData; @OneToMany(mappedBy = "myResource", cascade = {}, fetch = FetchType.LAZY, orphanRemoval = false) @OptimisticLock(excluded = true) @@ -772,7 +772,7 @@ public class ResourceTable extends BaseHasResource implements Serializable, IBas return myCreatedByMatchUrl; } - public void setLuceneIndexData(ExtendedLuceneIndexData theLuceneIndexData) { + public void setLuceneIndexData(ExtendedHSearchIndexData theLuceneIndexData) { myLuceneIndexData = theLuceneIndexData; } diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/ExtendedLuceneIndexData.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/ExtendedHSearchIndexData.java similarity index 94% rename from hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/ExtendedLuceneIndexData.java rename to hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/ExtendedHSearchIndexData.java index 70ec090788f..c3e0f099f4c 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/ExtendedLuceneIndexData.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/ExtendedHSearchIndexData.java @@ -37,11 +37,11 @@ import java.util.Objects; import java.util.function.BiConsumer; /** - * Collects our lucene extended indexing data. + * Collects our HSearch extended indexing data. * */ -public class ExtendedLuceneIndexData { - private static final Logger ourLog = LoggerFactory.getLogger(ExtendedLuceneIndexData.class); +public class ExtendedHSearchIndexData { + private static final Logger ourLog = LoggerFactory.getLogger(ExtendedHSearchIndexData.class); final FhirContext myFhirContext; final ModelConfig myModelConfig; @@ -56,7 +56,7 @@ public class ExtendedLuceneIndexData { private String myForcedId; private String myResourceJSON; - public ExtendedLuceneIndexData(FhirContext theFhirContext, ModelConfig theModelConfig) { + public ExtendedHSearchIndexData(FhirContext theFhirContext, ModelConfig theModelConfig) { this.myFhirContext = theFhirContext; this.myModelConfig = theModelConfig; } @@ -79,7 +79,7 @@ public class ExtendedLuceneIndexData { * @param theDocument the Hibernate Search document for ResourceTable */ public void writeIndexElements(DocumentElement theDocument) { - HibernateSearchIndexWriter indexWriter = HibernateSearchIndexWriter.forRoot(myFhirContext, myModelConfig, theDocument); + HSearchIndexWriter indexWriter = HSearchIndexWriter.forRoot(myFhirContext, myModelConfig, theDocument); ourLog.debug("Writing JPA index to Hibernate Search"); diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HibernateSearchElementCache.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HSearchElementCache.java similarity index 92% rename from hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HibernateSearchElementCache.java rename to hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HSearchElementCache.java index da15e921b9b..cb7c4f1987d 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HibernateSearchElementCache.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HSearchElementCache.java @@ -36,8 +36,8 @@ import java.util.Map; * The Hibernate Search DocumentElement api only supports create - it does not support fetching an existing element. * This class demand-creates object elements for a given path. */ -public class HibernateSearchElementCache { - private static final Logger ourLog = LoggerFactory.getLogger(HibernateSearchElementCache.class); +public class HSearchElementCache { + private static final Logger ourLog = LoggerFactory.getLogger(HSearchElementCache.class); private final DocumentElement myRoot; private final Map myCache = new HashMap<>(); @@ -45,7 +45,7 @@ public class HibernateSearchElementCache { * Create the helper rooted on the given DocumentElement * @param theRoot the document root */ - public HibernateSearchElementCache(DocumentElement theRoot) { + public HSearchElementCache(DocumentElement theRoot) { this.myRoot = theRoot; } diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HibernateSearchIndexWriter.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HSearchIndexWriter.java similarity index 93% rename from hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HibernateSearchIndexWriter.java rename to hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HSearchIndexWriter.java index 9ecd0c3693d..79d4fdf43b5 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HibernateSearchIndexWriter.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/HSearchIndexWriter.java @@ -33,8 +33,8 @@ import org.slf4j.LoggerFactory; import java.math.BigDecimal; import java.util.Collection; -public class HibernateSearchIndexWriter { - private static final Logger ourLog = LoggerFactory.getLogger(HibernateSearchIndexWriter.class); +public class HSearchIndexWriter { + private static final Logger ourLog = LoggerFactory.getLogger(HSearchIndexWriter.class); public static final String IDX_STRING_NORMALIZED = "norm"; public static final String IDX_STRING_EXACT = "exact"; public static final String IDX_STRING_TEXT = "text"; @@ -55,23 +55,23 @@ public class HibernateSearchIndexWriter { - final HibernateSearchElementCache myNodeCache; + final HSearchElementCache myNodeCache; final FhirContext myFhirContext; final ModelConfig myModelConfig; - HibernateSearchIndexWriter(FhirContext theFhirContext, ModelConfig theModelConfig, DocumentElement theRoot) { + HSearchIndexWriter(FhirContext theFhirContext, ModelConfig theModelConfig, DocumentElement theRoot) { myFhirContext = theFhirContext; myModelConfig = theModelConfig; - myNodeCache = new HibernateSearchElementCache(theRoot); + myNodeCache = new HSearchElementCache(theRoot); } public DocumentElement getSearchParamIndexNode(String theSearchParamName, String theIndexType) { return myNodeCache.getObjectElement(SEARCH_PARAM_ROOT, theSearchParamName, theIndexType); } - public static HibernateSearchIndexWriter forRoot( + public static HSearchIndexWriter forRoot( FhirContext theFhirContext, ModelConfig theModelConfig, DocumentElement theDocument) { - return new HibernateSearchIndexWriter(theFhirContext, theModelConfig, theDocument); + return new HSearchIndexWriter(theFhirContext, theModelConfig, theDocument); } public void writeStringIndex(String theSearchParam, String theValue) { diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/SearchParamTextPropertyBinder.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/SearchParamTextPropertyBinder.java index 51da12efb1b..145fca00831 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/SearchParamTextPropertyBinder.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/search/SearchParamTextPropertyBinder.java @@ -40,17 +40,17 @@ import org.slf4j.LoggerFactory; import java.time.Instant; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_EXACT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_LOWER; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_NORMALIZED; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.IDX_STRING_TEXT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NUMBER_VALUE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_CODE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_CODE_NORM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_SYSTEM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE_NORM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.URI_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_EXACT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_LOWER; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_NORMALIZED; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.IDX_STRING_TEXT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.NUMBER_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_CODE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_CODE_NORM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_SYSTEM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_VALUE_NORM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.URI_VALUE; /** * Allows hibernate search to index @@ -59,7 +59,7 @@ import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.URI_VALUE; * Coding.display * Identifier.type.text */ -public class SearchParamTextPropertyBinder implements PropertyBinder, PropertyBridge { +public class SearchParamTextPropertyBinder implements PropertyBinder, PropertyBridge { private static final Logger ourLog = LoggerFactory.getLogger(SearchParamTextPropertyBinder.class); public static final String SEARCH_PARAM_TEXT_PREFIX = "text-"; @@ -75,7 +75,7 @@ public class SearchParamTextPropertyBinder implements PropertyBinder, PropertyBr defineIndexingTemplate(thePropertyBindingContext); - thePropertyBindingContext.bridge(ExtendedLuceneIndexData.class, this); + thePropertyBindingContext.bridge(ExtendedHSearchIndexData.class, this); } private void defineIndexingTemplate(PropertyBindingContext thePropertyBindingContext) { @@ -145,9 +145,9 @@ public class SearchParamTextPropertyBinder implements PropertyBinder, PropertyBr // The following section is a bit ugly. We need to enforce order and dependency or the object matches will be too big. { - IndexSchemaObjectField spfield = indexSchemaElement.objectField(HibernateSearchIndexWriter.SEARCH_PARAM_ROOT, ObjectStructure.FLATTENED); + IndexSchemaObjectField spfield = indexSchemaElement.objectField(HSearchIndexWriter.SEARCH_PARAM_ROOT, ObjectStructure.FLATTENED); spfield.toReference(); - IndexSchemaObjectField nestedSpField = indexSchemaElement.objectField(HibernateSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT, ObjectStructure.FLATTENED); + IndexSchemaObjectField nestedSpField = indexSchemaElement.objectField(HSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT, ObjectStructure.FLATTENED); nestedSpField.toReference(); // TODO MB: the lucene/elastic independent api is hurting a bit here. @@ -219,7 +219,7 @@ public class SearchParamTextPropertyBinder implements PropertyBinder, PropertyBr } @Override - public void write(DocumentElement theDocument, ExtendedLuceneIndexData theIndexData, PropertyBridgeWriteContext thePropertyBridgeWriteContext) { + public void write(DocumentElement theDocument, ExtendedHSearchIndexData theIndexData, PropertyBridgeWriteContext thePropertyBridgeWriteContext) { if (theIndexData != null) { ourLog.trace("Writing index data for {}", theIndexData); theIndexData.writeIndexElements(theDocument); diff --git a/hapi-fhir-jpaserver-model/src/test/java/ca/uhn/fhir/jpa/model/search/HibernateSearchElementCacheTest.java b/hapi-fhir-jpaserver-model/src/test/java/ca/uhn/fhir/jpa/model/search/HSearchElementCacheTest.java similarity index 94% rename from hapi-fhir-jpaserver-model/src/test/java/ca/uhn/fhir/jpa/model/search/HibernateSearchElementCacheTest.java rename to hapi-fhir-jpaserver-model/src/test/java/ca/uhn/fhir/jpa/model/search/HSearchElementCacheTest.java index 791133096a8..fd9986f62cb 100644 --- a/hapi-fhir-jpaserver-model/src/test/java/ca/uhn/fhir/jpa/model/search/HibernateSearchElementCacheTest.java +++ b/hapi-fhir-jpaserver-model/src/test/java/ca/uhn/fhir/jpa/model/search/HSearchElementCacheTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test; import static org.hamcrest.MatcherAssert.assertThat; -class HibernateSearchElementCacheTest { +class HSearchElementCacheTest { static class TestDocumentElement implements DocumentElement { final TestDocumentElement myParent; @@ -49,7 +49,7 @@ class HibernateSearchElementCacheTest { } TestDocumentElement myRoot = new TestDocumentElement(null); - HibernateSearchElementCache mySvc = new HibernateSearchElementCache(myRoot); + HSearchElementCache mySvc = new HSearchElementCache(myRoot); @Test public void emptyPathReturnsRoot() { diff --git a/hapi-fhir-jpaserver-searchparam/pom.xml b/hapi-fhir-jpaserver-searchparam/pom.xml index ec846b48d89..2c1c9c65e34 100755 --- a/hapi-fhir-jpaserver-searchparam/pom.xml +++ b/hapi-fhir-jpaserver-searchparam/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-subscription/pom.xml b/hapi-fhir-jpaserver-subscription/pom.xml index 6ba4d5082e3..ab14e5590d6 100644 --- a/hapi-fhir-jpaserver-subscription/pom.xml +++ b/hapi-fhir-jpaserver-subscription/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-utilities/pom.xml b/hapi-fhir-jpaserver-test-utilities/pom.xml index d98e21b8325..8c1ef38c0cf 100644 --- a/hapi-fhir-jpaserver-test-utilities/pom.xml +++ b/hapi-fhir-jpaserver-test-utilities/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/BaseJpaTest.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/BaseJpaTest.java index 1b62bba7c4f..d24158088c7 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/BaseJpaTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/BaseJpaTest.java @@ -28,7 +28,6 @@ import ca.uhn.fhir.interceptor.executor.InterceptorService; import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.api.dao.IFhirSystemDao; import ca.uhn.fhir.jpa.api.model.ExpungeOptions; -import ca.uhn.fhir.jpa.api.svc.IIdHelperService; import ca.uhn.fhir.jpa.api.svc.ISearchCoordinatorSvc; import ca.uhn.fhir.jpa.bulk.export.api.IBulkDataExportJobSchedulingHelper; import ca.uhn.fhir.jpa.config.JpaConfig; @@ -270,7 +269,7 @@ public abstract class BaseJpaTest extends BaseTest { myFhirInstanceValidator.invalidateCaches(); } DaoConfig defaultConfig = new DaoConfig(); - myDaoConfig.setAdvancedLuceneIndexing(defaultConfig.isAdvancedLuceneIndexing()); + myDaoConfig.setAdvancedHSearchIndexing(defaultConfig.isAdvancedHSearchIndexing()); myDaoConfig.setAllowContainsSearches(defaultConfig.isAllowContainsSearches()); diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu2Config.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu2Config.java index 6df4a8da1ab..ab003ab9359 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu2Config.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu2Config.java @@ -60,7 +60,7 @@ import static org.junit.jupiter.api.Assertions.fail; TestJPAConfig.class, JpaBatch2Config.class, Batch2JobsConfig.class, - TestHibernateSearchAddInConfig.DefaultLuceneHeap.class + TestHSearchAddInConfig.DefaultLuceneHeap.class }) public class TestDstu2Config { private static final Logger ourLog = LoggerFactory.getLogger(TestDstu2Config.class); @@ -83,7 +83,7 @@ public class TestDstu2Config { } @Autowired - TestHibernateSearchAddInConfig.IHibernateSearchConfigurer hibernateSearchConfigurer; + TestHSearchAddInConfig.IHSearchConfigurer hibernateSearchConfigurer; private Exception myLastStackTrace; private String myLastStackTraceThreadName; diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu3Config.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu3Config.java index b979f928593..ce7cb6e65f7 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu3Config.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestDstu3Config.java @@ -63,13 +63,13 @@ import static org.junit.jupiter.api.Assertions.fail; TestJPAConfig.class, JpaBatch2Config.class, Batch2JobsConfig.class, - TestHibernateSearchAddInConfig.DefaultLuceneHeap.class + TestHSearchAddInConfig.DefaultLuceneHeap.class }) public class TestDstu3Config { static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(TestDstu3Config.class); @Autowired - TestHibernateSearchAddInConfig.IHibernateSearchConfigurer hibernateSearchConfigurer; + TestHSearchAddInConfig.IHSearchConfigurer hibernateSearchConfigurer; private Exception myLastStackTrace; @Bean diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestHibernateSearchAddInConfig.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestHSearchAddInConfig.java similarity index 91% rename from hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestHibernateSearchAddInConfig.java rename to hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestHSearchAddInConfig.java index 7626064bdc2..70acacf8ce2 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestHibernateSearchAddInConfig.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestHSearchAddInConfig.java @@ -23,7 +23,7 @@ package ca.uhn.fhir.jpa.test.config; import ca.uhn.fhir.jpa.dao.FulltextSearchSvcImpl; import ca.uhn.fhir.jpa.dao.IFulltextSearchSvc; import ca.uhn.fhir.jpa.model.config.PartitionSettings; -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.jpa.search.elastic.ElasticsearchHibernatePropertiesBuilder; import ca.uhn.fhir.jpa.search.lastn.ElasticsearchSvcImpl; import ca.uhn.fhir.test.utilities.docker.RequiresDocker; @@ -55,13 +55,13 @@ import java.util.Properties; * Turn off by adding {@link NoFT} to the test Contexts. * Use Elasticsearch instead via docker by adding {@link Elasticsearch} to the test Contexts; */ -public class TestHibernateSearchAddInConfig { - private static final Logger ourLog = LoggerFactory.getLogger(TestHibernateSearchAddInConfig.class); +public class TestHSearchAddInConfig { + private static final Logger ourLog = LoggerFactory.getLogger(TestHSearchAddInConfig.class); /** * Add Hibernate Search config to JPA properties. */ - public interface IHibernateSearchConfigurer { + public interface IHSearchConfigurer { void apply(Properties theJPAProperties); } @@ -74,7 +74,7 @@ public class TestHibernateSearchAddInConfig { @Bean @Primary - IHibernateSearchConfigurer hibernateSearchConfigurer() throws IOException { + IHSearchConfigurer hibernateSearchConfigurer() throws IOException { ourLog.warn("Hibernate Search: using lucene - filesystem"); // replace by existing directory for debugging purposes @@ -84,7 +84,8 @@ public class TestHibernateSearchAddInConfig { Map luceneProperties = new HashMap<>(); luceneProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "lucene"); - luceneProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), HapiLuceneAnalysisConfigurer.class.getName()); + luceneProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiLuceneAnalysisConfigurer.class.getName()); luceneProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_TYPE), "local-filesystem"); luceneProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_ROOT), dirPath); ourLog.info("Using lucene root dir: {}", dirPath); @@ -112,12 +113,13 @@ public class TestHibernateSearchAddInConfig { public static class DefaultLuceneHeap { @Bean - IHibernateSearchConfigurer hibernateSearchConfigurer() { + IHSearchConfigurer hibernateSearchConfigurer() { ourLog.warn("Hibernate Search: using lucene - local-heap"); Map luceneHeapProperties = new HashMap<>(); luceneHeapProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "lucene"); - luceneHeapProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), HapiLuceneAnalysisConfigurer.class.getName()); + luceneHeapProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiLuceneAnalysisConfigurer.class.getName()); luceneHeapProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_TYPE), "local-heap"); luceneHeapProperties.put(BackendSettings.backendKey(LuceneBackendSettings.LUCENE_VERSION), "LUCENE_CURRENT"); luceneHeapProperties.put(HibernateOrmMapperSettings.ENABLED, "true"); @@ -140,7 +142,7 @@ public class TestHibernateSearchAddInConfig { @Configuration public static class NoFT { @Bean - IHibernateSearchConfigurer hibernateSearchConfigurer() { + IHSearchConfigurer hibernateSearchConfigurer() { ourLog.info("Hibernate Search is disabled"); return (theProperties) -> theProperties.put("hibernate.search.enabled", "false"); } @@ -164,7 +166,7 @@ public class TestHibernateSearchAddInConfig { public static class Elasticsearch { @Bean @Primary // override the default - IHibernateSearchConfigurer hibernateSearchConfigurer(ElasticsearchContainer theContainer) { + IHSearchConfigurer hibernateSearchConfigurer(ElasticsearchContainer theContainer) { return (theProperties) -> { int httpPort = theContainer.getMappedPort(9200);//9200 is the HTTP port String host = theContainer.getHost(); diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR4Config.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR4Config.java index 06e8bf66a11..8a56e76f0b4 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR4Config.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR4Config.java @@ -64,7 +64,7 @@ import static org.junit.jupiter.api.Assertions.fail; JpaR4Config.class, HapiJpaConfig.class, TestJPAConfig.class, - TestHibernateSearchAddInConfig.DefaultLuceneHeap.class, + TestHSearchAddInConfig.DefaultLuceneHeap.class, JpaBatch2Config.class, Batch2JobsConfig.class }) @@ -93,7 +93,7 @@ public class TestR4Config { private final Deque myLastStackTrace = new LinkedList<>(); @Autowired - TestHibernateSearchAddInConfig.IHibernateSearchConfigurer hibernateSearchConfigurer; + TestHSearchAddInConfig.IHSearchConfigurer hibernateSearchConfigurer; private boolean myHaveDumpedThreads; @Bean diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR5Config.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR5Config.java index 14fde56ef1e..2e53849c9fa 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR5Config.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/config/TestR5Config.java @@ -59,7 +59,7 @@ import static org.junit.jupiter.api.Assertions.fail; TestJPAConfig.class, JpaBatch2Config.class, Batch2JobsConfig.class, - TestHibernateSearchAddInConfig.DefaultLuceneHeap.class + TestHSearchAddInConfig.DefaultLuceneHeap.class }) public class TestR5Config { @@ -86,7 +86,7 @@ public class TestR5Config { } @Autowired - TestHibernateSearchAddInConfig.IHibernateSearchConfigurer hibernateSearchConfigurer; + TestHSearchAddInConfig.IHSearchConfigurer hibernateSearchConfigurer; @Autowired private Environment myEnvironment; private Exception myLastStackTrace; diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/config/ElasticsearchWithPrefixConfig.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/config/ElasticsearchWithPrefixConfig.java index beae447e9ca..4a47b8573ae 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/config/ElasticsearchWithPrefixConfig.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/config/ElasticsearchWithPrefixConfig.java @@ -4,7 +4,7 @@ import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.dao.r4.ElasticsearchPrefixTest; -import ca.uhn.fhir.jpa.search.elastic.HapiElasticsearchAnalysisConfigurer; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.jpa.search.elastic.IndexNamePrefixLayoutStrategy; import ca.uhn.fhir.jpa.search.lastn.ElasticsearchRestClientFactory; import ca.uhn.fhir.jpa.search.elastic.TestElasticsearchContainerHelper; @@ -47,7 +47,7 @@ public class ElasticsearchWithPrefixConfig { @Bean public DaoConfig daoConfig() { DaoConfig daoConfig = new DaoConfig(); - daoConfig.setElasticSearchIndexPrefix(ElasticsearchPrefixTest.ELASTIC_PREFIX); + daoConfig.setHSearchIndexPrefix(ElasticsearchPrefixTest.ELASTIC_PREFIX); return daoConfig; } @@ -105,7 +105,8 @@ public class ElasticsearchWithPrefixConfig { String host = elasticContainer().getHost(); // the below properties are used for ElasticSearch integration extraProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "elasticsearch"); - extraProperties.put(BackendSettings.backendKey(ElasticsearchIndexSettings.ANALYSIS_CONFIGURER), HapiElasticsearchAnalysisConfigurer.class.getName()); + extraProperties.put(BackendSettings.backendKey(ElasticsearchIndexSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiElasticsearchAnalysisConfigurer.class.getName()); extraProperties.put(BackendSettings.backendKey(ElasticsearchBackendSettings.HOSTS), host + ":" + httpPort); extraProperties.put(BackendSettings.backendKey(ElasticsearchBackendSettings.PROTOCOL), "http"); extraProperties.put(HibernateOrmMapperSettings.SCHEMA_MANAGEMENT_STRATEGY, SchemaManagementStrategyName.CREATE.externalRepresentation()); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2SearchNoFtTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2SearchNoFtTest.java index 81be65238cb..a5362c2e3b1 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2SearchNoFtTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2SearchNoFtTest.java @@ -11,7 +11,7 @@ import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamUri; import ca.uhn.fhir.jpa.model.entity.ResourceLink; import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.util.TestUtil; import ca.uhn.fhir.model.api.IResource; import ca.uhn.fhir.model.api.Include; @@ -100,7 +100,7 @@ import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.mock; @SuppressWarnings("unchecked") -@ContextConfiguration(classes = TestHibernateSearchAddInConfig.NoFT.class) +@ContextConfiguration(classes = TestHSearchAddInConfig.NoFT.class) public class FhirResourceDaoDstu2SearchNoFtTest extends BaseJpaDstu2Test { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDaoDstu2SearchNoFtTest.class); @Autowired diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2Test.java index 63d48051b16..0a207d4360a 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu2/FhirResourceDaoDstu2Test.java @@ -71,7 +71,6 @@ import ca.uhn.fhir.rest.server.exceptions.ResourceGoneException; import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException; import ca.uhn.fhir.rest.server.exceptions.ResourceVersionConflictException; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.RandomStringUtils; import org.hamcrest.Matchers; import org.hamcrest.core.StringContains; @@ -84,13 +83,11 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; import static org.apache.commons.lang3.StringUtils.defaultString; @@ -2689,7 +2686,7 @@ public class FhirResourceDaoDstu2Test extends BaseJpaDstu2Test { @Test public void testStringParamWhichIsTooLong() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); Organization org = new Organization(); String str = "testStringParamLong__lvdaoy843s89tll8gvs89l4s3gelrukveilufyebrew8r87bv4b77feli7fsl4lv3vb7rexloxe7olb48vov4o78ls7bvo7vb48o48l4bb7vbvx"; diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3PhoneticSearchNoFtTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3PhoneticSearchNoFtTest.java index e47cd5d5d77..6bbaf8b88cf 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3PhoneticSearchNoFtTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3PhoneticSearchNoFtTest.java @@ -7,7 +7,7 @@ import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamString; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.test.BaseJpaDstu3Test; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.rest.param.StringParam; import ca.uhn.fhir.rest.server.util.ISearchParamRegistry; import ca.uhn.fhir.util.HapiExtensions; @@ -33,7 +33,7 @@ import static org.hamcrest.Matchers.hasSize; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; -@ContextConfiguration(classes = TestHibernateSearchAddInConfig.NoFT.class) +@ContextConfiguration(classes = TestHSearchAddInConfig.NoFT.class) public class FhirResourceDaoDstu3PhoneticSearchNoFtTest extends BaseJpaDstu3Test { public static final String GALE = "Gale"; public static final String GAIL = "Gail"; diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SearchNoFtTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SearchNoFtTest.java index 3caabff87b5..43b224665ea 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SearchNoFtTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SearchNoFtTest.java @@ -13,7 +13,7 @@ import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap.EverythingModeEnum; import ca.uhn.fhir.jpa.test.BaseJpaDstu3Test; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.util.TestUtil; import ca.uhn.fhir.model.api.Include; import ca.uhn.fhir.model.api.TemporalPrecisionEnum; @@ -128,7 +128,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.mock; -@ContextConfiguration(classes = TestHibernateSearchAddInConfig.NoFT.class) +@ContextConfiguration(classes = TestHSearchAddInConfig.NoFT.class) @SuppressWarnings("unchecked") public class FhirResourceDaoDstu3SearchNoFtTest extends BaseJpaDstu3Test { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDaoDstu3SearchNoFtTest.class); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/BaseR4SearchLastN.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/BaseR4SearchLastN.java index 522034861c3..553f730d9c5 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/BaseR4SearchLastN.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/BaseR4SearchLastN.java @@ -8,7 +8,7 @@ import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.jpa.search.lastn.ElasticsearchSvcImpl; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.rest.param.DateAndListParam; import ca.uhn.fhir.rest.param.DateOrListParam; import ca.uhn.fhir.rest.param.DateParam; @@ -54,7 +54,7 @@ import static org.mockito.Mockito.when; @ExtendWith(SpringExtension.class) @RequiresDocker -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.Elasticsearch.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.Elasticsearch.class}) abstract public class BaseR4SearchLastN extends BaseJpaTest { private static final Map observationPatientMap = new HashMap<>(); @@ -117,7 +117,7 @@ abstract public class BaseR4SearchLastN extends BaseJpaTest { // Normally would use a static @BeforeClass method for this purpose, but Autowired objects cannot be accessed in static methods. if (!dataLoaded || patient0Id == null) { // enabled to also create extended lucene index during creation of test data - myDaoConfig.setAdvancedLuceneIndexing(true); + myDaoConfig.setAdvancedHSearchIndexing(true); Patient pt = new Patient(); pt.addName().setFamily("Lastn").addGiven("Arthur"); patient0Id = myPatientDao.create(pt, mockSrd()).getId().toUnqualifiedVersionless(); @@ -135,7 +135,7 @@ abstract public class BaseR4SearchLastN extends BaseJpaTest { myElasticsearchSvc.refreshIndex(ElasticsearchSvcImpl.OBSERVATION_INDEX); myElasticsearchSvc.refreshIndex(ElasticsearchSvcImpl.OBSERVATION_CODE_INDEX); // turn off the setting enabled earlier - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); } } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4ComboUniqueParamTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4ComboUniqueParamTest.java index e01990629d6..68aff41fe07 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4ComboUniqueParamTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4ComboUniqueParamTest.java @@ -364,7 +364,7 @@ public class FhirResourceDaoR4ComboUniqueParamTest extends BaseComboParamsR4Test @Test public void testDoubleMatchingOnAnd_Search() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); createUniqueIndexPatientIdentifier(); Patient pt = new Patient(); @@ -1043,7 +1043,7 @@ public class FhirResourceDaoR4ComboUniqueParamTest extends BaseComboParamsR4Test @Test public void testSearchSynchronousUsingUniqueComposite() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); createUniqueBirthdateAndGenderSps(); Patient pt1 = new Patient(); @@ -1186,7 +1186,7 @@ public class FhirResourceDaoR4ComboUniqueParamTest extends BaseComboParamsR4Test @Test public void testUniqueValuesAreIndexed_Reference_UsingModifierSyntax() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); createUniqueNameAndManagingOrganizationSps(); Organization org = new Organization(); @@ -1549,7 +1549,7 @@ public class FhirResourceDaoR4ComboUniqueParamTest extends BaseComboParamsR4Test @Test public void testReplaceOneWithAnother() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); createUniqueBirthdateAndGenderSps(); Patient pt1 = new Patient(); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchFtTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchFtTest.java index 6b9fb82c340..5f1d0d6ac2c 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchFtTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchFtTest.java @@ -45,7 +45,7 @@ public class FhirResourceDaoR4SearchFtTest extends BaseJpaR4Test { public void beforeDisableResultReuse() { myDaoConfig.setReuseCachedSearchResultsForMillis(null); myDaoConfig.setAllowContainsSearches(true); - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); } /** diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNIT.java index 5886124af45..0f374abda0a 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNIT.java @@ -36,7 +36,7 @@ public class FhirResourceDaoR4SearchLastNIT extends BaseR4SearchLastN { @AfterEach public void reset() { SearchBuilder.setMaxPageSize50ForTest(false); - myDaoConfig.setStoreResourceInLuceneIndex(new DaoConfig().isStoreResourceInLuceneIndex()); + myDaoConfig.setStoreResourceInHSearchIndex(new DaoConfig().isStoreResourceInHSearchIndex()); } @Test @@ -101,7 +101,7 @@ public class FhirResourceDaoR4SearchLastNIT extends BaseR4SearchLastN { @Test public void testLastN_onEnablingStoringObservationWithIndexMapping_shouldSkipLoadingResourceFromDB() throws IOException { // Enable flag - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); // Create Data Patient pt = new Patient(); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexAsyncIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexAsyncIT.java similarity index 52% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexAsyncIT.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexAsyncIT.java index 7f7b0506e9c..6d6e0bf7c95 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexAsyncIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexAsyncIT.java @@ -8,19 +8,19 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; /** * Run entire @see {@link FhirResourceDaoR4SearchLastNAsyncIT} test suite this time - * using Extended Lucene index as search target + * using Extended HSearch index as search target */ @ExtendWith(SpringExtension.class) -public class FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexAsyncIT extends FhirResourceDaoR4SearchLastNAsyncIT { +public class FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexAsyncIT extends FhirResourceDaoR4SearchLastNAsyncIT { @BeforeEach - public void enableAdvancedLuceneIndexing() { - myDaoConfig.setAdvancedLuceneIndexing(true); + public void enableAdvancedHSearchIndexing() { + myDaoConfig.setAdvancedHSearchIndexing(true); } @AfterEach - public void disableAdvancedLuceneIndex() { - myDaoConfig.setAdvancedLuceneIndexing(new DaoConfig().isAdvancedLuceneIndexing()); + public void disableAdvancedHSearchIndex() { + myDaoConfig.setAdvancedHSearchIndexing(new DaoConfig().isAdvancedHSearchIndexing()); } } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexIT.java similarity index 84% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexIT.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexIT.java index 863c9ea6e1a..237fbc7bd4f 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexIT.java @@ -22,25 +22,25 @@ import static org.mockito.Mockito.verify; /** * Run entire @see {@link FhirResourceDaoR4SearchLastNIT} test suite this time - * using Extended Lucene index as search target. + * using Extended HSearch index as search target. * * The other implementation is obsolete, and we can merge these someday. */ @ExtendWith(SpringExtension.class) -public class FhirResourceDaoR4SearchLastNUsingExtendedLuceneIndexIT extends FhirResourceDaoR4SearchLastNIT { +public class FhirResourceDaoR4SearchLastNUsingExtendedHSearchIndexIT extends FhirResourceDaoR4SearchLastNIT { // awkward override so we can spy @SpyBean @Autowired(required = false) IFulltextSearchSvc myFulltestSearchSvc; @BeforeEach - public void enableAdvancedLuceneIndexing() { - myDaoConfig.setAdvancedLuceneIndexing(true); + public void enableAdvancedHSearchIndexing() { + myDaoConfig.setAdvancedHSearchIndexing(true); } @AfterEach - public void disableAdvancedLuceneIndex() { - myDaoConfig.setAdvancedLuceneIndexing(new DaoConfig().isAdvancedLuceneIndexing()); + public void disableAdvancedHSearchIndex() { + myDaoConfig.setAdvancedHSearchIndexing(new DaoConfig().isAdvancedHSearchIndexing()); } /** diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java index ff0341dfe04..ef013e509bc 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java @@ -26,7 +26,7 @@ import ca.uhn.fhir.jpa.searchparam.MatchUrlService; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap.EverythingModeEnum; import ca.uhn.fhir.jpa.test.BaseJpaR4Test; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.util.SqlQuery; import ca.uhn.fhir.jpa.util.TestUtil; import ca.uhn.fhir.model.api.Include; @@ -196,7 +196,7 @@ import static org.mockito.Mockito.verify; @SuppressWarnings({"unchecked", "Duplicates"}) @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestHibernateSearchAddInConfig.NoFT.class}) +@ContextConfiguration(classes = {TestHSearchAddInConfig.NoFT.class}) public class FhirResourceDaoR4SearchNoFtTest extends BaseJpaR4Test { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDaoR4SearchNoFtTest.class); @Autowired diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoHashesTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoHashesTest.java index daeb832992e..d1a246fe716 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoHashesTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoHashesTest.java @@ -152,7 +152,7 @@ public class FhirResourceDaoR4SearchNoHashesTest extends BaseJpaR4Test { public void beforeInitialize() { myDaoConfig.setReuseCachedSearchResultsForMillis(null); myDaoConfig.setDisableHashBasedSearches(true); - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); } @Test diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java index 4a2b3fe4368..743fcd352cd 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java @@ -94,7 +94,7 @@ public class FhirResourceDaoR4SearchOptimizedTest extends BaseJpaR4Test { mySearchCoordinatorSvcImpl.setLoadingThrottleForUnitTests(null); mySearchCoordinatorSvcImpl.setSyncSizeForUnitTests(SearchCoordinatorSvcImpl.DEFAULT_SYNC_SIZE); myCaptureQueriesListener.setCaptureQueryStackTrace(true); - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); } @AfterEach diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchSqlTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchSqlTest.java index 5dd27666685..a4d3ebfd66f 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchSqlTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchSqlTest.java @@ -30,7 +30,7 @@ public class FhirResourceDaoR4SearchSqlTest extends BaseJpaR4Test { @BeforeEach public void before() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); } @AfterEach diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithElasticSearchIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithElasticSearchIT.java index 1ffacd87f45..fd3b71c9d26 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithElasticSearchIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithElasticSearchIT.java @@ -25,7 +25,7 @@ import ca.uhn.fhir.jpa.sp.ISearchParamPresenceSvc; import ca.uhn.fhir.jpa.term.api.ITermCodeSystemStorageSvc; import ca.uhn.fhir.jpa.term.api.ITermReadSvcR4; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.parser.DataFormatException; import ca.uhn.fhir.parser.IParser; @@ -123,7 +123,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; @RequiresDocker @ContextConfiguration(classes = { TestR4Config.class, - TestHibernateSearchAddInConfig.Elasticsearch.class, + TestHSearchAddInConfig.Elasticsearch.class, DaoTestDataBuilder.Config.class, TestDaoSearch.Config.class }) @@ -217,15 +217,15 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @BeforeEach public void enableContainsAndLucene() { myDaoConfig.setAllowContainsSearches(true); - myDaoConfig.setAdvancedLuceneIndexing(true); + myDaoConfig.setAdvancedHSearchIndexing(true); } @AfterEach public void restoreContains() { DaoConfig defaultConfig = new DaoConfig(); myDaoConfig.setAllowContainsSearches(defaultConfig.isAllowContainsSearches()); - myDaoConfig.setAdvancedLuceneIndexing(defaultConfig.isAdvancedLuceneIndexing()); - myDaoConfig.setStoreResourceInLuceneIndex(defaultConfig.isStoreResourceInLuceneIndex()); + myDaoConfig.setAdvancedHSearchIndexing(defaultConfig.isAdvancedHSearchIndexing()); + myDaoConfig.setStoreResourceInHSearchIndex(defaultConfig.isStoreResourceInHSearchIndex()); } @Test @@ -914,12 +914,12 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @BeforeEach public void enableResourceStorage() { - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); } @AfterEach public void resetResourceStorage() { - myDaoConfig.setStoreResourceInLuceneIndex(new DaoConfig().isStoreResourceInLuceneIndex()); + myDaoConfig.setStoreResourceInHSearchIndex(new DaoConfig().isStoreResourceInHSearchIndex()); } @@ -1557,12 +1557,12 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @BeforeEach public void enableResourceStorage() { - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); } @AfterEach public void resetResourceStorage() { - myDaoConfig.setStoreResourceInLuceneIndex(new DaoConfig().isStoreResourceInLuceneIndex()); + myDaoConfig.setStoreResourceInHSearchIndex(new DaoConfig().isStoreResourceInHSearchIndex()); } @Test @@ -1694,7 +1694,7 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @BeforeEach public void enableResourceStorage() { - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); myOldObsId = myTestDataBuilder.createObservation(List.of( myTestDataBuilder.withObservationCode("http://example.com/", "theCodeOld"), @@ -1707,7 +1707,7 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @AfterEach public void resetResourceStorage() { - myDaoConfig.setStoreResourceInLuceneIndex(new DaoConfig().isStoreResourceInLuceneIndex()); + myDaoConfig.setStoreResourceInHSearchIndex(new DaoConfig().isStoreResourceInHSearchIndex()); } @Test @@ -1810,7 +1810,7 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @BeforeEach public void enableResourceStorage() { - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); } @@ -1858,8 +1858,8 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @BeforeEach public void enableContainsAndLucene() { myDaoConfig.setAllowContainsSearches(true); - myDaoConfig.setAdvancedLuceneIndexing(true); - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setAdvancedHSearchIndexing(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); myDaoConfig.getModelConfig().setNormalizedQuantitySearchLevel( NormalizedQuantitySearchLevel.NORMALIZED_QUANTITY_SEARCH_SUPPORTED); } @@ -1868,8 +1868,8 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { public void restoreContains() { DaoConfig defaultConfig = new DaoConfig(); myDaoConfig.setAllowContainsSearches(defaultConfig.isAllowContainsSearches()); - myDaoConfig.setAdvancedLuceneIndexing(defaultConfig.isAdvancedLuceneIndexing()); - myDaoConfig.setStoreResourceInLuceneIndex(defaultConfig.isStoreResourceInLuceneIndex()); + myDaoConfig.setAdvancedHSearchIndexing(defaultConfig.isAdvancedHSearchIndexing()); + myDaoConfig.setStoreResourceInHSearchIndex(defaultConfig.isStoreResourceInHSearchIndex()); myDaoConfig.getModelConfig().setNormalizedQuantitySearchLevel( defaultConfig.getModelConfig().getNormalizedQuantitySearchLevel() ); } @@ -2253,8 +2253,8 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { @BeforeEach public void enableContainsAndLucene() { myDaoConfig.setAllowContainsSearches(true); - myDaoConfig.setAdvancedLuceneIndexing(true); - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setAdvancedHSearchIndexing(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); myDaoConfig.getModelConfig().setNormalizedQuantitySearchLevel( NormalizedQuantitySearchLevel.NORMALIZED_QUANTITY_SEARCH_SUPPORTED); } @@ -2263,8 +2263,8 @@ public class FhirResourceDaoR4SearchWithElasticSearchIT extends BaseJpaTest { public void restoreContains() { DaoConfig defaultConfig = new DaoConfig(); myDaoConfig.setAllowContainsSearches(defaultConfig.isAllowContainsSearches()); - myDaoConfig.setAdvancedLuceneIndexing(defaultConfig.isAdvancedLuceneIndexing()); - myDaoConfig.setStoreResourceInLuceneIndex(defaultConfig.isStoreResourceInLuceneIndex()); + myDaoConfig.setAdvancedHSearchIndexing(defaultConfig.isAdvancedHSearchIndexing()); + myDaoConfig.setStoreResourceInHSearchIndex(defaultConfig.isStoreResourceInHSearchIndex()); myDaoConfig.getModelConfig().setNormalizedQuantitySearchLevel( defaultConfig.getModelConfig().getNormalizedQuantitySearchLevel() ); } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithLuceneDisabledTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithHSearchDisabledTest.java similarity index 96% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithLuceneDisabledTest.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithHSearchDisabledTest.java index 3d7a5c8a2b9..408c71bcdf3 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithLuceneDisabledTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchWithHSearchDisabledTest.java @@ -11,23 +11,19 @@ import ca.uhn.fhir.jpa.api.dao.IFhirSystemDao; import ca.uhn.fhir.jpa.api.svc.ISearchCoordinatorSvc; import ca.uhn.fhir.jpa.bulk.export.api.IBulkDataExportJobSchedulingHelper; import ca.uhn.fhir.jpa.test.config.TestR4Config; -import ca.uhn.fhir.jpa.dao.dstu2.FhirResourceDaoDstu2SearchNoFtTest; import ca.uhn.fhir.jpa.search.reindex.IResourceReindexingSvc; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.sp.ISearchParamPresenceSvc; import ca.uhn.fhir.jpa.term.api.ITermReadSvc; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.util.ValueSetTestUtil; -import ca.uhn.fhir.parser.IParser; -import ca.uhn.fhir.rest.api.EncodingEnum; import ca.uhn.fhir.rest.api.server.IBundleProvider; import ca.uhn.fhir.rest.param.StringParam; import ca.uhn.fhir.rest.param.TokenParam; import ca.uhn.fhir.rest.param.TokenParamModifier; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; import ca.uhn.fhir.rest.server.util.ISearchParamRegistry; -import org.apache.commons.io.IOUtils; import org.hl7.fhir.instance.model.api.IBaseResource; import org.hl7.fhir.instance.model.api.IIdType; import org.hl7.fhir.r4.model.AllergyIntolerance; @@ -61,8 +57,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityManager; import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.util.List; import static ca.uhn.fhir.util.HapiExtensions.EXT_VALUESET_EXPANSION_MESSAGE; @@ -72,10 +66,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.fail; @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.NoFT.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.NoFT.class}) @DirtiesContext -public class FhirResourceDaoR4SearchWithLuceneDisabledTest extends BaseJpaTest { - private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDaoR4SearchWithLuceneDisabledTest.class); +public class FhirResourceDaoR4SearchWithHSearchDisabledTest extends BaseJpaTest { + private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDaoR4SearchWithHSearchDisabledTest.class); @Autowired protected DaoConfig myDaoConfig; @Autowired diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4StandardQueriesNoFTTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4StandardQueriesNoFTTest.java index aca3874f496..98dae0e55d0 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4StandardQueriesNoFTTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4StandardQueriesNoFTTest.java @@ -6,7 +6,7 @@ import ca.uhn.fhir.jpa.api.dao.IFhirResourceDao; import ca.uhn.fhir.jpa.dao.TestDaoSearch; import ca.uhn.fhir.jpa.searchparam.MatchUrlService; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.storage.test.BaseDateSearchDaoTests; import ca.uhn.fhir.storage.test.DaoTestDataBuilder; @@ -36,7 +36,7 @@ import static org.hamcrest.Matchers.not; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { TestR4Config.class, - TestHibernateSearchAddInConfig.NoFT.class, + TestHSearchAddInConfig.NoFT.class, DaoTestDataBuilder.Config.class, TestDaoSearch.Config.class }) diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4TerminologyElasticsearchIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4TerminologyElasticsearchIT.java index 56f8c31a12b..84c5df80f89 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4TerminologyElasticsearchIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4TerminologyElasticsearchIT.java @@ -15,7 +15,7 @@ import ca.uhn.fhir.jpa.model.entity.ResourceTable; import ca.uhn.fhir.jpa.search.reindex.IResourceReindexingSvc; import ca.uhn.fhir.jpa.term.api.ITermCodeSystemStorageSvc; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId; import ca.uhn.fhir.rest.server.servlet.ServletRequestDetails; import ca.uhn.fhir.rest.server.util.ISearchParamRegistry; @@ -51,7 +51,7 @@ import static org.mockito.Mockito.when; @ExtendWith(SpringExtension.class) @RequiresDocker -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.Elasticsearch.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.Elasticsearch.class}) public class FhirResourceDaoR4TerminologyElasticsearchIT extends BaseJpaTest { public static final String URL_MY_CODE_SYSTEM = "http://example.com/my_code_system"; diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4Test.java index 334dae55b5f..cc07c6ab254 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4Test.java @@ -123,7 +123,6 @@ import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.Optional; -import java.util.Set; import java.util.UUID; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -3647,7 +3646,7 @@ public class FhirResourceDaoR4Test extends BaseJpaR4Test { @Test public void testSortByString01() { myDaoConfig.setIndexMissingFields(DaoConfig.IndexEnabledEnum.ENABLED); - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); Patient p = new Patient(); String string = "testSortByString01"; diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirSystemDaoR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirSystemDaoR4Test.java index cb57cdfcd36..50f3742bd35 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirSystemDaoR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirSystemDaoR4Test.java @@ -676,7 +676,7 @@ public class FhirSystemDaoR4Test extends BaseJpaR4SystemTest { @Test public void testReindexingSingleStringHashValueIsDeleted() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); Patient p = new Patient(); p.addName().setFamily("family1"); final IIdType id = myPatientDao.create(p, mySrd).getId().toUnqualifiedVersionless(); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/HibernateSearchSandboxTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/HSearchSandboxTest.java similarity index 97% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/HibernateSearchSandboxTest.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/HSearchSandboxTest.java index 339a1b6f90b..a536b659ac5 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/HibernateSearchSandboxTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/HSearchSandboxTest.java @@ -9,7 +9,7 @@ import ca.uhn.fhir.jpa.dao.TestDaoSearch; import ca.uhn.fhir.jpa.model.entity.ResourceTable; import ca.uhn.fhir.jpa.search.reindex.IResourceReindexingSvc; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.model.api.IQueryParameterType; import ca.uhn.fhir.rest.param.ParamPrefixEnum; @@ -46,11 +46,11 @@ import javax.persistence.EntityManager; import java.util.Collections; import java.util.List; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_CODE; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_PARAM_NAME; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_SYSTEM; -import static ca.uhn.fhir.jpa.model.search.HibernateSearchIndexWriter.QTY_VALUE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.NESTED_SEARCH_PARAM_ROOT; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_CODE; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_PARAM_NAME; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_SYSTEM; +import static ca.uhn.fhir.jpa.model.search.HSearchIndexWriter.QTY_VALUE; import static org.apache.commons.lang3.StringUtils.isNotBlank; /** @@ -60,12 +60,12 @@ import static org.apache.commons.lang3.StringUtils.isNotBlank; @RequiresDocker @ContextConfiguration(classes = { TestR4Config.class, - TestHibernateSearchAddInConfig.Elasticsearch.class, + TestHSearchAddInConfig.Elasticsearch.class, DaoTestDataBuilder.Config.class, TestDaoSearch.Config.class }) @Disabled -public class HibernateSearchSandboxTest extends BaseJpaTest { +public class HSearchSandboxTest extends BaseJpaTest { @Autowired private EntityManager myEntityManager; @@ -104,7 +104,7 @@ public class HibernateSearchSandboxTest extends BaseJpaTest { @BeforeEach public void enableContainsAndLucene() { myDaoConfig.setAllowContainsSearches(true); - myDaoConfig.setAdvancedLuceneIndexing(true); + myDaoConfig.setAdvancedHSearchIndexing(true); } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningSqlR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningSqlR4Test.java index 48a6d992121..696372e5cfc 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningSqlR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningSqlR4Test.java @@ -104,7 +104,7 @@ public class PartitioningSqlR4Test extends BasePartitioningR4Test { @BeforeEach public void disableAdvanceIndexing() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); // ugh - somewhere the hibernate round trip is mangling LocalDate to h2 date column unless the tz=GMT TimeZone.setDefault(TimeZone.getTimeZone("GMT")); ourLog.info("Running with Timezone {}", TimeZone.getDefault().getID()); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PersistObservationIndexedSearchParamLastNR4IT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PersistObservationIndexedSearchParamLastNR4IT.java index a790348c8e4..6135bb0fa16 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PersistObservationIndexedSearchParamLastNR4IT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/PersistObservationIndexedSearchParamLastNR4IT.java @@ -10,7 +10,7 @@ import ca.uhn.fhir.jpa.search.lastn.ElasticsearchSvcImpl; import ca.uhn.fhir.jpa.search.lastn.json.CodeJson; import ca.uhn.fhir.jpa.search.lastn.json.ObservationJson; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.parser.IParser; import ca.uhn.fhir.rest.param.ReferenceAndListParam; import ca.uhn.fhir.rest.param.ReferenceOrListParam; @@ -63,7 +63,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; @ExtendWith(SpringExtension.class) @RequiresDocker -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.Elasticsearch.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.Elasticsearch.class}) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class PersistObservationIndexedSearchParamLastNR4IT { diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchWithInterceptorR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchWithInterceptorR4Test.java index 17bfd6f506b..77494ea5bda 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchWithInterceptorR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchWithInterceptorR4Test.java @@ -26,7 +26,7 @@ public class SearchWithInterceptorR4Test extends BaseJpaR4Test { @Test public void testRawSql_Search() { - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); IAnonymousInterceptor interceptor = (pointcut, params) -> { RequestDetails requestDetails = params.get(RequestDetails.class); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SyntheaPerfTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SyntheaPerfTest.java index 2c0047bdced..1814dbfd4cd 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SyntheaPerfTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r4/SyntheaPerfTest.java @@ -8,7 +8,7 @@ import ca.uhn.fhir.jpa.model.entity.ResourceEncodingEnum; import ca.uhn.fhir.jpa.partition.SystemRequestDetails; import ca.uhn.fhir.jpa.search.reindex.BlockPolicy; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; import ca.uhn.fhir.util.StopWatch; import org.apache.commons.lang3.Validate; @@ -47,7 +47,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.NoFT.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.NoFT.class}) @DirtiesContext public class SyntheaPerfTest extends BaseJpaTest { diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r5/FhirResourceDaoR5SearchNoFtTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r5/FhirResourceDaoR5SearchNoFtTest.java index 764ecca3e47..0ebc9cbde85 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r5/FhirResourceDaoR5SearchNoFtTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/r5/FhirResourceDaoR5SearchNoFtTest.java @@ -2,13 +2,11 @@ package ca.uhn.fhir.jpa.dao.r5; import ca.uhn.fhir.jpa.model.entity.ResourceTable; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.rest.api.server.IBundleProvider; import ca.uhn.fhir.rest.param.HasAndListParam; import ca.uhn.fhir.rest.param.HasOrListParam; import ca.uhn.fhir.rest.param.HasParam; -import org.hl7.fhir.r5.model.Appointment; -import org.hl7.fhir.r5.model.Enumerations; import org.hl7.fhir.r5.model.Organization; import org.hl7.fhir.r5.model.Patient; import org.hl7.fhir.r5.model.Practitioner; @@ -16,13 +14,12 @@ import org.hl7.fhir.r5.model.PractitionerRole; import org.junit.jupiter.api.Test; import org.springframework.test.context.ContextConfiguration; -import java.util.Collections; import java.util.Date; import java.util.stream.Collectors; import static org.junit.jupiter.api.Assertions.assertEquals; -@ContextConfiguration(classes = TestHibernateSearchAddInConfig.NoFT.class) +@ContextConfiguration(classes = TestHSearchAddInConfig.NoFT.class) @SuppressWarnings({"Duplicates"}) public class FhirResourceDaoR5SearchNoFtTest extends BaseJpaR5Test { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDaoR5SearchNoFtTest.class); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneResourceProjectionTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchResourceProjectionTest.java similarity index 76% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneResourceProjectionTest.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchResourceProjectionTest.java index 6423ad04b62..cb2a502c9a1 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneResourceProjectionTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchResourceProjectionTest.java @@ -10,15 +10,15 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; -class ExtendedLuceneResourceProjectionTest { +class ExtendedHSearchResourceProjectionTest { final FhirContext myFhirContext = FhirContext.forR4(); final IParser myParser = myFhirContext.newJsonParser(); - ExtendedLuceneResourceProjection myProjection; + ExtendedHSearchResourceProjection myProjection; IBaseResource myResource; @Test public void basicBodyReceivesId() { - myProjection = new ExtendedLuceneResourceProjection(22, null, "{ \"resourceType\":\"Observation\"}"); + myProjection = new ExtendedHSearchResourceProjection(22, null, "{ \"resourceType\":\"Observation\"}"); myResource = myProjection.toResource(myParser); @@ -28,7 +28,7 @@ class ExtendedLuceneResourceProjectionTest { @Test public void forcedIdOverridesPid() { - myProjection = new ExtendedLuceneResourceProjection(22, "force-id", "{ \"resourceType\":\"Observation\"}"); + myProjection = new ExtendedHSearchResourceProjection(22, "force-id", "{ \"resourceType\":\"Observation\"}"); myResource = myProjection.toResource(myParser); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/TerminologyFreetextIndexingProviderTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/TerminologyHSearchIndexingProviderTest.java similarity index 98% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/TerminologyFreetextIndexingProviderTest.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/TerminologyHSearchIndexingProviderTest.java index 7dcd8622bdc..a8d31da1689 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/TerminologyFreetextIndexingProviderTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/TerminologyHSearchIndexingProviderTest.java @@ -27,7 +27,7 @@ import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) -public class TerminologyFreetextIndexingProviderTest { +public class TerminologyHSearchIndexingProviderTest { private final FhirContext myContext = FhirContext.forR4(); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/MultitenantBatchOperationR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/MultitenantBatchOperationR4Test.java index c46294572da..3963241543d 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/MultitenantBatchOperationR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/MultitenantBatchOperationR4Test.java @@ -54,7 +54,7 @@ public class MultitenantBatchOperationR4Test extends BaseMultitenantResourceProv @BeforeEach public void disableAdvanceIndexing() { // advanced indexing doesn't support partitions - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ElasticTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ElasticTest.java index 83b03d59f40..39221895884 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ElasticTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ElasticTest.java @@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.provider.r4; import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.provider.BaseJpaResourceProvider; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.rest.api.Constants; import ca.uhn.fhir.test.utilities.docker.RequiresDocker; import org.apache.commons.io.IOUtils; @@ -49,7 +49,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; @ExtendWith(SpringExtension.class) @RequiresDocker -@ContextConfiguration(classes = TestHibernateSearchAddInConfig.Elasticsearch.class) +@ContextConfiguration(classes = TestHSearchAddInConfig.Elasticsearch.class) public class ResourceProviderR4ElasticTest extends BaseResourceProviderR4Test { private static final Logger ourLog = LoggerFactory.getLogger(ResourceProviderR4ElasticTest.class); @@ -61,15 +61,15 @@ public class ResourceProviderR4ElasticTest extends BaseResourceProviderR4Test { @BeforeEach public void beforeEach() { myDaoConfig.setLastNEnabled(true); - myDaoConfig.setAdvancedLuceneIndexing(true); - myDaoConfig.setStoreResourceInLuceneIndex(true); + myDaoConfig.setAdvancedHSearchIndexing(true); + myDaoConfig.setStoreResourceInHSearchIndex(true); } @AfterEach public void afterEach() { myDaoConfig.setLastNEnabled(new DaoConfig().isLastNEnabled()); - myDaoConfig.setAdvancedLuceneIndexing(new DaoConfig().isAdvancedLuceneIndexing()); - myDaoConfig.setStoreResourceInLuceneIndex(new DaoConfig().isStoreResourceInLuceneIndex()); + myDaoConfig.setAdvancedHSearchIndexing(new DaoConfig().isAdvancedHSearchIndexing()); + myDaoConfig.setStoreResourceInHSearchIndex(new DaoConfig().isStoreResourceInHSearchIndex()); } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ValueSetLuceneDisabledTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ValueSetHSearchDisabledTest.java similarity index 96% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ValueSetLuceneDisabledTest.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ValueSetHSearchDisabledTest.java index 4e8e8357050..73b4f0e882d 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ValueSetLuceneDisabledTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4ValueSetHSearchDisabledTest.java @@ -7,7 +7,7 @@ import ca.uhn.fhir.jpa.provider.ValueSetOperationProvider; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; import ca.uhn.fhir.jpa.subscription.match.config.WebsocketDispatcherConfig; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.parser.StrictErrorHandler; import ca.uhn.fhir.rest.api.EncodingEnum; @@ -53,11 +53,11 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.NoFT.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.NoFT.class}) @SuppressWarnings({"Duplicates"}) -public class ResourceProviderR4ValueSetLuceneDisabledTest extends BaseJpaTest { +public class ResourceProviderR4ValueSetHSearchDisabledTest extends BaseJpaTest { - private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ResourceProviderR4ValueSetLuceneDisabledTest.class); + private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ResourceProviderR4ValueSetHSearchDisabledTest.class); private static RestfulServer ourRestServer; private static String ourServerBase; diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteElasticsearchIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteElasticsearchIT.java index d5ac3d88805..426ef934ef0 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteElasticsearchIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/TokenAutocompleteElasticsearchIT.java @@ -10,7 +10,7 @@ import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.search.reindex.IResourceReindexingSvc; import ca.uhn.fhir.jpa.sp.ISearchParamPresenceSvc; import ca.uhn.fhir.jpa.test.BaseJpaTest; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.rest.server.servlet.ServletRequestDetails; import ca.uhn.fhir.rest.server.util.ISearchParamRegistry; @@ -52,7 +52,7 @@ import static org.hamcrest.Matchers.not; @RequiresDocker @ContextConfiguration(classes = { TestR4Config.class, - TestHibernateSearchAddInConfig.Elasticsearch.class, + TestHSearchAddInConfig.Elasticsearch.class, DaoTestDataBuilder.Config.class }) public class TokenAutocompleteElasticsearchIT extends BaseJpaTest { @@ -94,7 +94,7 @@ public class TokenAutocompleteElasticsearchIT extends BaseJpaTest { @BeforeEach public void beforePurgeDatabase() { purgeDatabase(myDaoConfig, mySystemDao, myResourceReindexingSvc, mySearchCoordinatorSvc, mySearchParamRegistry, myBulkDataScheduleHelper); - myDaoConfig.setAdvancedLuceneIndexing(true); + myDaoConfig.setAdvancedHSearchIndexing(true); } @Override diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptionsTest.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptionsTest.java index 0398fc53d07..1dbd39fe2cd 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptionsTest.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/search/autocomplete/ValueSetAutocompleteOptionsTest.java @@ -39,7 +39,7 @@ class ValueSetAutocompleteOptionsTest { final private DaoConfig myDaoConfig = new DaoConfig(); { - myDaoConfig.setAdvancedLuceneIndexing(true); + myDaoConfig.setAdvancedHSearchIndexing(true); } @Test @@ -170,7 +170,7 @@ class ValueSetAutocompleteOptionsTest { @Test public void whenAdvancedIndexingOff() { // given - myDaoConfig.setAdvancedLuceneIndexing(false); + myDaoConfig.setAdvancedHSearchIndexing(false); assertParseThrowsInvalidRequestWithErrorCode(ERROR_REQUIRES_EXTENDED_INDEXING); } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/subscription/module/matcher/InMemorySubscriptionMatcherR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/subscription/module/matcher/InMemorySubscriptionMatcherR4Test.java index 9db497c72d4..3e8f7cac24f 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/subscription/module/matcher/InMemorySubscriptionMatcherR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/subscription/module/matcher/InMemorySubscriptionMatcherR4Test.java @@ -16,7 +16,7 @@ import ca.uhn.fhir.jpa.subscription.match.matcher.matching.SubscriptionMatchingS import ca.uhn.fhir.jpa.subscription.match.matcher.matching.SubscriptionStrategyEvaluator; import ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription; import ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.util.CoordCalculatorTest; import ca.uhn.fhir.model.api.TemporalPrecisionEnum; import ca.uhn.fhir.rest.param.CompositeParam; @@ -84,7 +84,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.NoFT.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.NoFT.class}) public class InMemorySubscriptionMatcherR4Test { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(InMemorySubscriptionMatcherR4Test.class); diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/AbstractValueSetFreeTextExpansionR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/AbstractValueSetHSearchExpansionR4Test.java similarity index 98% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/AbstractValueSetFreeTextExpansionR4Test.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/AbstractValueSetHSearchExpansionR4Test.java index 1117003df08..81f6436d062 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/AbstractValueSetFreeTextExpansionR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/AbstractValueSetHSearchExpansionR4Test.java @@ -21,6 +21,8 @@ import ca.uhn.fhir.jpa.term.api.ITermCodeSystemStorageSvc; import ca.uhn.fhir.jpa.term.api.ITermDeferredStorageSvc; import ca.uhn.fhir.jpa.term.api.ITermReadSvcR4; import ca.uhn.fhir.jpa.term.custom.CustomTerminologySet; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.parser.StrictErrorHandler; import ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; @@ -44,12 +46,15 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Answers; import org.mockito.Mock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.util.AopTestUtils; import org.springframework.test.util.ReflectionTestUtils; import org.springframework.transaction.PlatformTransactionManager; @@ -87,10 +92,10 @@ import static org.mockito.Mockito.when; * and remove the abstract qualifier */ //@ExtendWith(SpringExtension.class) -//@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.DefaultLuceneHeap.class}) -//@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.DefaultLuceneHeap.class}) -public abstract class AbstractValueSetFreeTextExpansionR4Test extends BaseJpaTest { - private static final Logger ourLog = LoggerFactory.getLogger(AbstractValueSetFreeTextExpansionR4Test.class); +//@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.DefaultLuceneHeap.class}) +//@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.DefaultLuceneHeap.class}) +public abstract class AbstractValueSetHSearchExpansionR4Test extends BaseJpaTest { + private static final Logger ourLog = LoggerFactory.getLogger(AbstractValueSetHSearchExpansionR4Test.class); private static final String CS_URL = "http://example.com/my_code_system"; private static final String CS_URL_2 = "http://example.com/my_code_system2"; diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4ElasticsearchIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4ElasticsearchIT.java index e9eb297bc01..dee47a71a0c 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4ElasticsearchIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4ElasticsearchIT.java @@ -8,7 +8,7 @@ import ca.uhn.fhir.jpa.api.dao.IFhirResourceDaoValueSet; import ca.uhn.fhir.jpa.api.dao.IFhirSystemDao; import ca.uhn.fhir.jpa.api.svc.ISearchCoordinatorSvc; import ca.uhn.fhir.jpa.bulk.export.api.IBulkDataExportJobSchedulingHelper; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.jpa.test.BaseJpaTest; import ca.uhn.fhir.jpa.dao.data.IResourceTableDao; @@ -56,7 +56,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.Elasticsearch.class}) +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.Elasticsearch.class}) @RequiresDocker public class ValueSetExpansionR4ElasticsearchIT extends BaseJpaTest { diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetFreeTextExpansionR4ElasticIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetHSearchExpansionR4ElasticIT.java similarity index 58% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetFreeTextExpansionR4ElasticIT.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetHSearchExpansionR4ElasticIT.java index b656fc157ca..1b3805fbb00 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetFreeTextExpansionR4ElasticIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetHSearchExpansionR4ElasticIT.java @@ -1,6 +1,6 @@ package ca.uhn.fhir.jpa.term; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.ContextConfiguration; @@ -10,7 +10,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; * This class runs all parent class tests using Elasticsearch configuration */ @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.Elasticsearch.class}) -public class ValueSetFreeTextExpansionR4ElasticIT extends AbstractValueSetFreeTextExpansionR4Test { +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.Elasticsearch.class}) +public class ValueSetHSearchExpansionR4ElasticIT extends AbstractValueSetHSearchExpansionR4Test { } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetFreeTextExpansionR4LuceneIT.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetHSearchExpansionR4LuceneIT.java similarity index 62% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetFreeTextExpansionR4LuceneIT.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetHSearchExpansionR4LuceneIT.java index 50bd09061c0..a6a49d7827d 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetFreeTextExpansionR4LuceneIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/ValueSetHSearchExpansionR4LuceneIT.java @@ -1,6 +1,6 @@ package ca.uhn.fhir.jpa.term; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import ca.uhn.fhir.jpa.test.config.TestR4Config; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.ContextConfiguration; @@ -11,7 +11,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; * There is also a LuceneFilesystem configuration available, for debugging purposes */ @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.DefaultLuceneHeap.class}) -public class ValueSetFreeTextExpansionR4LuceneIT extends AbstractValueSetFreeTextExpansionR4Test { +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.DefaultLuceneHeap.class}) +public class ValueSetHSearchExpansionR4LuceneIT extends AbstractValueSetHSearchExpansionR4Test { } diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/freetext/ReindexTerminologyFreetextR4Test.java b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/hsearch/ReindexTerminologyHSearchR4Test.java similarity index 96% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/freetext/ReindexTerminologyFreetextR4Test.java rename to hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/hsearch/ReindexTerminologyHSearchR4Test.java index 908244e514f..cf8c6a53263 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/freetext/ReindexTerminologyFreetextR4Test.java +++ b/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/term/hsearch/ReindexTerminologyHSearchR4Test.java @@ -1,4 +1,4 @@ -package ca.uhn.fhir.jpa.term.freetext; +package ca.uhn.fhir.jpa.term.hsearch; import ca.uhn.fhir.jpa.test.config.TestR4Config; import ca.uhn.fhir.jpa.dao.data.ITermConceptDao; @@ -12,7 +12,7 @@ import ca.uhn.fhir.jpa.term.TermLoaderSvcImpl; import ca.uhn.fhir.jpa.term.api.ITermLoaderSvc; import ca.uhn.fhir.jpa.term.api.ITermReadSvc; import ca.uhn.fhir.jpa.test.BaseJpaR4Test; -import ca.uhn.fhir.jpa.test.config.TestHibernateSearchAddInConfig; +import ca.uhn.fhir.jpa.test.config.TestHSearchAddInConfig; import net.ttddyy.dsproxy.ExecutionInfo; import net.ttddyy.dsproxy.QueryInfo; import net.ttddyy.dsproxy.support.ProxyDataSourceBuilder; @@ -45,10 +45,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = {TestR4Config.class, TestHibernateSearchAddInConfig.LuceneFilesystem.class - , ReindexTerminologyFreetextR4Test.NoopMandatoryTransactionListener.class +@ContextConfiguration(classes = {TestR4Config.class, TestHSearchAddInConfig.LuceneFilesystem.class + , ReindexTerminologyHSearchR4Test.NoopMandatoryTransactionListener.class }) -public class ReindexTerminologyFreetextR4Test extends BaseJpaR4Test { +public class ReindexTerminologyHSearchR4Test extends BaseJpaR4Test { public static final String LOINC_URL = "http://loinc.org"; public static final String TEST_FILES_CLASSPATH = "loinc-reindex/"; public static final String NULL = "'null'"; @@ -60,7 +60,7 @@ public class ReindexTerminologyFreetextR4Test extends BaseJpaR4Test { ResourceUtils.CLASSPATH_URL_PREFIX + TEST_FILES_CLASSPATH + "Loinc_small_v68.zip"; public static final String LOINC_ZIP_CLASSPATH = ResourceUtils.CLASSPATH_URL_PREFIX + TEST_FILES_CLASSPATH + "v268_loincupload.properties"; - private static final Logger ourLog = LoggerFactory.getLogger(ReindexTerminologyFreetextR4Test.class); + private static final Logger ourLog = LoggerFactory.getLogger(ReindexTerminologyHSearchR4Test.class); long termCodeSystemVersionWithVersionId; long termCodeSystemVersionWithNoVersionId; Map conceptCounts = Map.ofEntries( diff --git a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml index 5caf6861a45..65d276deab8 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml +++ b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu2Config.java b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu2Config.java index e187f6aa4c8..b7101e1a994 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu2Config.java +++ b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu2Config.java @@ -8,7 +8,7 @@ import ca.uhn.fhir.jpa.config.util.HapiEntityManagerFactoryUtil; import ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect; import ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect; import ca.uhn.fhir.jpa.model.entity.ModelConfig; -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.jpa.util.CurrentThreadCaptureQueriesListener; import ca.uhn.fhir.jpa.validation.ValidationSettings; import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor; @@ -154,7 +154,8 @@ public class TestDstu2Config { extraProperties.put("hibernate.cache.use_minimal_puts", "false"); extraProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "lucene"); - extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), HapiLuceneAnalysisConfigurer.class.getName()); + extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiLuceneAnalysisConfigurer.class.getName()); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_TYPE), "local-filesystem"); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_ROOT), myFhirLuceneLocation); extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.LUCENE_VERSION), "LUCENE_CURRENT"); diff --git a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu3Config.java b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu3Config.java index 0618df2d64b..cae97537508 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu3Config.java +++ b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestDstu3Config.java @@ -9,7 +9,7 @@ import ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect; import ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.jpa.util.CurrentThreadCaptureQueriesListener; import ca.uhn.fhir.jpa.validation.ValidationSettings; import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor; @@ -155,7 +155,8 @@ public class TestDstu3Config { extraProperties.put("hibernate.cache.use_minimal_puts", "false"); extraProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "lucene"); - extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), HapiLuceneAnalysisConfigurer.class.getName()); + extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiLuceneAnalysisConfigurer.class.getName()); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_TYPE), "local-filesystem"); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_ROOT), myFhirLuceneLocation); extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.LUCENE_VERSION), "LUCENE_CURRENT"); diff --git a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR4Config.java b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR4Config.java index 6b1e4df9c3a..66754064513 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR4Config.java +++ b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR4Config.java @@ -9,7 +9,7 @@ import ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect; import ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.jpa.util.CurrentThreadCaptureQueriesListener; import ca.uhn.fhir.jpa.validation.ValidationSettings; import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor; @@ -150,7 +150,8 @@ public class TestR4Config { extraProperties.put("hibernate.cache.use_minimal_puts", "false"); extraProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "lucene"); - extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), HapiLuceneAnalysisConfigurer.class.getName()); + extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiLuceneAnalysisConfigurer.class.getName()); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_TYPE), "local-filesystem"); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_ROOT), myFhirLuceneLocation); extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.LUCENE_VERSION), "LUCENE_CURRENT"); diff --git a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR5Config.java b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR5Config.java index 32bd0adc17c..cf76f1aaca4 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR5Config.java +++ b/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR5Config.java @@ -9,7 +9,7 @@ import ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect; import ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; -import ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer; +import ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers; import ca.uhn.fhir.jpa.util.CurrentThreadCaptureQueriesListener; import ca.uhn.fhir.jpa.validation.ValidationSettings; import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor; @@ -156,7 +156,8 @@ public class TestR5Config { extraProperties.put("hibernate.cache.use_minimal_puts", "false"); extraProperties.put(BackendSettings.backendKey(BackendSettings.TYPE), "lucene"); - extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), HapiLuceneAnalysisConfigurer.class.getName()); + extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.ANALYSIS_CONFIGURER), + HapiHSearchAnalysisConfigurers.HapiLuceneAnalysisConfigurer.class.getName()); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_TYPE), "local-filesystem"); extraProperties.put(BackendSettings.backendKey(LuceneIndexSettings.DIRECTORY_ROOT), myFhirLuceneLocation); extraProperties.put(BackendSettings.backendKey(LuceneBackendSettings.LUCENE_VERSION), "LUCENE_CURRENT"); diff --git a/hapi-fhir-server-mdm/pom.xml b/hapi-fhir-server-mdm/pom.xml index 9aef903c6c6..66684605cee 100644 --- a/hapi-fhir-server-mdm/pom.xml +++ b/hapi-fhir-server-mdm/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml @@ -32,11 +32,6 @@ hapi-fhir-storage ${project.version} - - ca.uhn.hapi.fhir - hapi-fhir-storage-batch2 - ${project.version} - org.springframework.data spring-data-commons diff --git a/hapi-fhir-server-openapi/pom.xml b/hapi-fhir-server-openapi/pom.xml index 74324827ec0..d1da5c3767b 100644 --- a/hapi-fhir-server-openapi/pom.xml +++ b/hapi-fhir-server-openapi/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server/pom.xml b/hapi-fhir-server/pom.xml index f33ae356bc3..d8a71660cfe 100644 --- a/hapi-fhir-server/pom.xml +++ b/hapi-fhir-server/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml index b7a9bc98e30..006f6bb362b 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml index 495a25d0814..99471aa29b7 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT hapi-fhir-spring-boot-sample-client-apache diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml index 0c3ff0d910b..f16dbcc8f32 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT hapi-fhir-spring-boot-sample-client-okhttp diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml index e9aef5b1942..16c68103c29 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT hapi-fhir-spring-boot-sample-server-jersey diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml index df67398dcba..9c30f0b08d0 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT hapi-fhir-spring-boot-samples diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml index 47efcb34a39..0de96bd6a65 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/pom.xml b/hapi-fhir-spring-boot/pom.xml index d992d375331..b4c57f99766 100644 --- a/hapi-fhir-spring-boot/pom.xml +++ b/hapi-fhir-spring-boot/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-sql-migrate/pom.xml b/hapi-fhir-sql-migrate/pom.xml index 1db5ea8b6f6..1bb796ed2d2 100644 --- a/hapi-fhir-sql-migrate/pom.xml +++ b/hapi-fhir-sql-migrate/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-batch2-jobs/pom.xml b/hapi-fhir-storage-batch2-jobs/pom.xml index b0aeb32ef05..349c62c1485 100644 --- a/hapi-fhir-storage-batch2-jobs/pom.xml +++ b/hapi-fhir-storage-batch2-jobs/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-storage-batch2/pom.xml b/hapi-fhir-storage-batch2/pom.xml index 41b5380dab7..f2ea75fa358 100644 --- a/hapi-fhir-storage-batch2/pom.xml +++ b/hapi-fhir-storage-batch2/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-mdm/pom.xml b/hapi-fhir-storage-mdm/pom.xml index b7ac57f53e3..af2143e81d2 100644 --- a/hapi-fhir-storage-mdm/pom.xml +++ b/hapi-fhir-storage-mdm/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-storage-test-utilities/pom.xml b/hapi-fhir-storage-test-utilities/pom.xml index d9289a2ac72..75b2b921691 100644 --- a/hapi-fhir-storage-test-utilities/pom.xml +++ b/hapi-fhir-storage-test-utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-storage/pom.xml b/hapi-fhir-storage/pom.xml index 8f25cfef29a..8eb749c58b5 100644 --- a/hapi-fhir-storage/pom.xml +++ b/hapi-fhir-storage/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java index 8930a00257e..ef2b7d59a0b 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java @@ -59,9 +59,9 @@ public class DaoConfig { */ public static final String DISABLE_STATUS_BASED_REINDEX = "disable_status_based_reindex"; /** - * Default value for {@link #setTranslationCachesExpireAfterWriteInMinutes(Long)}: 60 minutes + * Default value for {@link #myTranslationCachesExpireAfterWriteInMinutes}: 60 minutes * - * @see #setTranslationCachesExpireAfterWriteInMinutes(Long) + * @see #myTranslationCachesExpireAfterWriteInMinutes */ public static final Long DEFAULT_TRANSLATION_CACHES_EXPIRE_AFTER_WRITE_IN_MINUTES = 60L; /** @@ -267,19 +267,19 @@ public class DaoConfig { /** * @since 5.6.0 */ - private String myElasicSearchIndexPrefix; + private String myHSearchIndexPrefix; private Integer myBundleBatchPoolSize = DEFAULT_BUNDLE_BATCH_POOL_SIZE; private Integer myBundleBatchMaxPoolSize = DEFAULT_BUNDLE_BATCH_MAX_POOL_SIZE; /** - * Activates the new Lucene/Elasticsearch indexing of search parameters. + * Activates the new HSearch indexing of search parameters. * When active, string, token, and reference parameters will be indexed and * queried within Hibernate Search. * * @since 5.6.0 * TODO mb test more with this true */ - private boolean myAdvancedLuceneIndexing = false; + private boolean myAdvancedHSearchIndexing = false; /** * If set to a positive number, any resources with a character length at or below the given number * of characters will be stored inline in the HFJ_RES_VER table instead of using a @@ -292,7 +292,7 @@ public class DaoConfig { /** * @since 5.7.0 */ - private boolean myStoreResourceInLuceneIndex; + private boolean myStoreResourceInHSearchIndex; /** * @see FhirValidator#isConcurrentBundleValidation() @@ -474,7 +474,7 @@ public class DaoConfig { /** * If set to true (default is false) the $lastn operation will be enabled for - * indexing Observation resources. This operation involves creating a special set of tables in ElasticSearch for + * indexing Observation resources. This operation involves creating a special set of tables in hsearch for * discovering Observation resources. Enabling this setting increases the amount of storage space required, and can * slow write operations, but can be very useful for searching for collections of Observations for some applications. * @@ -486,7 +486,7 @@ public class DaoConfig { /** * If set to true (default is false) the $lastn operation will be enabled for - * indexing Observation resources. This operation involves creating a special set of tables in ElasticSearch for + * indexing Observation resources. This operation involves creating a special set of tables in hsearch for * discovering Observation resources. Enabling this setting increases the amount of storage space required, and can * slow write operations, but can be very useful for searching for collections of Observations for some applications. * @@ -2716,71 +2716,71 @@ public class DaoConfig { } /** - * Sets a prefix for any indexes created when interacting with elasticsearch. This will apply to fulltext search indexes + * Sets a prefix for any indexes created when interacting with hsearch. This will apply to fulltext search indexes * and terminology expansion indexes. * * @since 5.6.0 */ - public String getElasticSearchIndexPrefix() { - return myElasicSearchIndexPrefix; + public String getHSearchIndexPrefix() { + return myHSearchIndexPrefix; } /** - * Sets a prefix for any indexes created when interacting with elasticsearch. This will apply to fulltext search indexes + * Sets a prefix for any indexes created when interacting with hsearch. This will apply to fulltext search indexes * and terminology expansion indexes. * * @since 5.6.0 */ - public void setElasticSearchIndexPrefix(String thePrefix) { - myElasicSearchIndexPrefix = thePrefix; + public void setHSearchIndexPrefix(String thePrefix) { + myHSearchIndexPrefix = thePrefix; } /** - * Is lucene/hibernate indexing enabled beyond _contains or _text? + * Is HSearch indexing enabled beyond _contains or _text? * * @since 5.6.0 */ - public boolean isAdvancedLuceneIndexing() { - return myAdvancedLuceneIndexing; + public boolean isAdvancedHSearchIndexing() { + return myAdvancedHSearchIndexing; } /** - * Enable/disable lucene/hibernate indexing enabled beyond _contains or _text. + * Enable/disable HSearch indexing enabled beyond _contains or _text. *

- * String, token, and reference parameters can be indexed in Lucene. + * String, token, and reference parameters can be indexed in HSearch. * This extends token search to support :text searches, as well as supporting * :contains and :text on string parameters. * * @since 5.6.0 */ - public void setAdvancedLuceneIndexing(boolean theAdvancedLuceneIndexing) { - this.myAdvancedLuceneIndexing = theAdvancedLuceneIndexing; + public void setAdvancedHSearchIndexing(boolean theAdvancedHSearchIndexing) { + this.myAdvancedHSearchIndexing = theAdvancedHSearchIndexing; } /** - * Is storing of Resource in Lucene index enabled? + * Is storing of Resource in HSearch index enabled? * * @since 5.7.0 */ - public boolean isStoreResourceInLuceneIndex() { - return myStoreResourceInLuceneIndex; + public boolean isStoreResourceInHSearchIndex() { + return myStoreResourceInHSearchIndex; } /** *

- * Enable Resource to be stored inline with Lucene index mappings. + * Enable Resource to be stored inline with HSearch index mappings. * This is useful in cases where after performing a search operation the resulting resource identifiers don't have to be * looked up in the persistent storage, but rather the inline stored resource can be used instead. *

*

- * For e.g - Storing Observation resource in lucene index would be useful when performing + * For e.g - Storing Observation resource in HSearch index would be useful when performing * $lastn operation. *

* * @since 5.7.0 */ - public void setStoreResourceInLuceneIndex(boolean theStoreResourceInLuceneIndex) { - myStoreResourceInLuceneIndex = theStoreResourceInLuceneIndex; + public void setStoreResourceInHSearchIndex(boolean theStoreResourceInHSearchIndex) { + myStoreResourceInHSearchIndex = theStoreResourceInHSearchIndex; } /** diff --git a/hapi-fhir-structures-dstu2.1/pom.xml b/hapi-fhir-structures-dstu2.1/pom.xml index ff8fd33b540..8caaa8ecb7c 100644 --- a/hapi-fhir-structures-dstu2.1/pom.xml +++ b/hapi-fhir-structures-dstu2.1/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-dstu2/pom.xml b/hapi-fhir-structures-dstu2/pom.xml index 6a6ad95cdab..941fbd5d9e4 100644 --- a/hapi-fhir-structures-dstu2/pom.xml +++ b/hapi-fhir-structures-dstu2/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-dstu3/pom.xml b/hapi-fhir-structures-dstu3/pom.xml index 48f370b7072..d6345cc9a7e 100644 --- a/hapi-fhir-structures-dstu3/pom.xml +++ b/hapi-fhir-structures-dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-hl7org-dstu2/pom.xml b/hapi-fhir-structures-hl7org-dstu2/pom.xml index 0cdbf30cdf6..b6cb67f18c6 100644 --- a/hapi-fhir-structures-hl7org-dstu2/pom.xml +++ b/hapi-fhir-structures-hl7org-dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r4/pom.xml b/hapi-fhir-structures-r4/pom.xml index e1d6b55e850..735e4b6ac3d 100644 --- a/hapi-fhir-structures-r4/pom.xml +++ b/hapi-fhir-structures-r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r5/pom.xml b/hapi-fhir-structures-r5/pom.xml index b4ae446df29..6d8b3da7277 100644 --- a/hapi-fhir-structures-r5/pom.xml +++ b/hapi-fhir-structures-r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-test-utilities/pom.xml b/hapi-fhir-test-utilities/pom.xml index 4b702d2d5c6..33e29bc1b05 100644 --- a/hapi-fhir-test-utilities/pom.xml +++ b/hapi-fhir-test-utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-testpage-overlay/pom.xml b/hapi-fhir-testpage-overlay/pom.xml index 3544d99fc55..6d31756de6a 100644 --- a/hapi-fhir-testpage-overlay/pom.xml +++ b/hapi-fhir-testpage-overlay/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-validation-resources-dstu2.1/pom.xml b/hapi-fhir-validation-resources-dstu2.1/pom.xml index 9569126fbce..f0dc16678b5 100644 --- a/hapi-fhir-validation-resources-dstu2.1/pom.xml +++ b/hapi-fhir-validation-resources-dstu2.1/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-dstu2/pom.xml b/hapi-fhir-validation-resources-dstu2/pom.xml index 91768d5174a..b1406c0663d 100644 --- a/hapi-fhir-validation-resources-dstu2/pom.xml +++ b/hapi-fhir-validation-resources-dstu2/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-dstu3/pom.xml b/hapi-fhir-validation-resources-dstu3/pom.xml index 3d80f357c78..6839a852bd8 100644 --- a/hapi-fhir-validation-resources-dstu3/pom.xml +++ b/hapi-fhir-validation-resources-dstu3/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-r4/pom.xml b/hapi-fhir-validation-resources-r4/pom.xml index 0c62fa7d5e4..3b600cb5e62 100644 --- a/hapi-fhir-validation-resources-r4/pom.xml +++ b/hapi-fhir-validation-resources-r4/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-r5/pom.xml b/hapi-fhir-validation-resources-r5/pom.xml index f3e235e5745..13c5e4f3510 100644 --- a/hapi-fhir-validation-resources-r5/pom.xml +++ b/hapi-fhir-validation-resources-r5/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation/pom.xml b/hapi-fhir-validation/pom.xml index c0447fc3401..169678fd3a4 100644 --- a/hapi-fhir-validation/pom.xml +++ b/hapi-fhir-validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-tinder-plugin/pom.xml b/hapi-tinder-plugin/pom.xml index 0e159bfa9eb..298afd6d6ff 100644 --- a/hapi-tinder-plugin/pom.xml +++ b/hapi-tinder-plugin/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml @@ -58,37 +58,37 @@ ca.uhn.hapi.fhir hapi-fhir-structures-dstu3 - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-structures-hl7org-dstu2 - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-structures-r4 - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-structures-r5 - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-validation-resources-dstu2 - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-validation-resources-dstu3 - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-validation-resources-r4 - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT org.apache.velocity diff --git a/hapi-tinder-test/pom.xml b/hapi-tinder-test/pom.xml index 3f381613eb3..f00aee1438f 100644 --- a/hapi-tinder-test/pom.xml +++ b/hapi-tinder-test/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 0343dc35a14..d4f60457e42 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-fhir pom - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT HAPI-FHIR An open-source implementation of the FHIR specification in Java. https://hapifhir.io @@ -2011,7 +2011,7 @@ ca.uhn.hapi.fhir hapi-fhir-checkstyle - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT diff --git a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml index 2ad3f1c9a99..148d88e7d71 100644 --- a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml +++ b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../../pom.xml diff --git a/tests/hapi-fhir-base-test-mindeps-client/pom.xml b/tests/hapi-fhir-base-test-mindeps-client/pom.xml index f01fa0b6389..32c14dd14cf 100644 --- a/tests/hapi-fhir-base-test-mindeps-client/pom.xml +++ b/tests/hapi-fhir-base-test-mindeps-client/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../../pom.xml diff --git a/tests/hapi-fhir-base-test-mindeps-server/pom.xml b/tests/hapi-fhir-base-test-mindeps-server/pom.xml index ea554b44038..12addda06ad 100644 --- a/tests/hapi-fhir-base-test-mindeps-server/pom.xml +++ b/tests/hapi-fhir-base-test-mindeps-server/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.1.0-PRE4-SNAPSHOT + 6.1.0-PRE5-SNAPSHOT ../../pom.xml