
Package ca.uhn.fhir.jpa.dao
Interface IFulltextSearchSvc
- All Known Implementing Classes:
FulltextSearchSvcImpl
public interface IFulltextSearchSvc
-
Method Summary
Modifier and TypeMethodDescriptionlong
count
(String theResourceName, SearchParameterMap theParams) Returns accurate hit countvoid
deleteIndexedDocumentsByTypeAndId
(Class theClazz, List<Object> theGivenIds) Given a resource type that is indexed by hibernate search, and a list of objects reprenting the IDs you wish to delete, this method will delete the resources from the Hibernate Search index.<T extends ca.uhn.fhir.rest.api.server.storage.IResourcePersistentId>
List<T>everything
(String theResourceName, SearchParameterMap theParams, T theReferencingPid) extractLuceneIndexData
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ResourceIndexedSearchParams theNewParams) List<org.hl7.fhir.instance.model.api.IBaseResource>
getResources
(Collection<Long> thePids) Returns inlined resource stored along with index mappings for matched identifiersboolean
List<ca.uhn.fhir.rest.api.server.storage.IResourcePersistentId>
lastN
(SearchParameterMap theParams, Integer theMaximumResults) void
reindex
(ResourceTable theEntity) Re-publish the resource to the full-text index.<T extends ca.uhn.fhir.rest.api.server.storage.IResourcePersistentId>
List<T>search
(String theResourceName, SearchParameterMap theParams) Search the Lucene/Elastic index for pids using params supported in theParams, consuming entries from theParams when used to query.List<org.hl7.fhir.instance.model.api.IBaseResource>
searchForResources
(String theResourceType, SearchParameterMap theParams) searchNotScrolled
(String theResourceName, SearchParameterMap theParams, Integer theMaxResultsToFetch) Query the index for a plain list (non-scrollable) iterator of results.boolean
supportsAllOf
(SearchParameterMap theParams) boolean
supportsSomeOf
(SearchParameterMap myParams) org.hl7.fhir.instance.model.api.IBaseResource
Autocomplete search for NIH $expand contextDirection=existing
-
Method Details
-
search
<T extends ca.uhn.fhir.rest.api.server.storage.IResourcePersistentId> List<T> search(String theResourceName, SearchParameterMap theParams) Search the Lucene/Elastic index for pids using params supported in theParams, consuming entries from theParams when used to query.- Parameters:
theResourceName
- the resource name to restrict the query.theParams
- the full query - modified to return only params unused by the index.- Returns:
- the pid list for the matchign resources.
-
searchNotScrolled
ISearchQueryExecutor searchNotScrolled(String theResourceName, SearchParameterMap theParams, Integer theMaxResultsToFetch) Query the index for a plain list (non-scrollable) iterator of results.- Parameters:
theResourceName
- e.g. PatienttheParams
- The search querytheMaxResultsToFetch
- maximum results to fetch- Returns:
- Iterator of result PIDs
-
tokenAutocompleteValueSetSearch
org.hl7.fhir.instance.model.api.IBaseResource tokenAutocompleteValueSetSearch(ValueSetAutocompleteOptions theOptions) Autocomplete search for NIH $expand contextDirection=existing- Parameters:
theOptions
- operation options- Returns:
- a ValueSet with the search hits as the expansion.
-
everything
<T extends ca.uhn.fhir.rest.api.server.storage.IResourcePersistentId> List<T> everything(String theResourceName, SearchParameterMap theParams, T theReferencingPid) -
isDisabled
boolean isDisabled() -
extractLuceneIndexData
ExtendedHSearchIndexData extractLuceneIndexData(org.hl7.fhir.instance.model.api.IBaseResource theResource, ResourceIndexedSearchParams theNewParams) -
supportsSomeOf
-
reindex
Re-publish the resource to the full-text index. During update, hibernate search only republishes the entity if it has changed. During $reindex, we want to force the re-index.- Parameters:
theEntity
- the fully populated ResourceTable entity
-
lastN
List<ca.uhn.fhir.rest.api.server.storage.IResourcePersistentId> lastN(SearchParameterMap theParams, Integer theMaximumResults) -
getResources
Returns inlined resource stored along with index mappings for matched identifiers- Parameters:
thePids
- raw pids - we dont support versioned references- Returns:
- Resources list or empty if nothing found
-
count
Returns accurate hit count -
searchForResources
List<org.hl7.fhir.instance.model.api.IBaseResource> searchForResources(String theResourceType, SearchParameterMap theParams) -
supportsAllOf
-
deleteIndexedDocumentsByTypeAndId
Given a resource type that is indexed by hibernate search, and a list of objects reprenting the IDs you wish to delete, this method will delete the resources from the Hibernate Search index. This is useful for situations where a deletion occurred outside a Hibernate ORM session, leaving dangling documents in the index.- Parameters:
theClazz
- The class, which must be annotated withIndexed
theGivenIds
- The list of IDs for the given document type. Note that while this is a List
-