Package ca.uhn.fhir.jpa.dao
Interface IFulltextSearchSvc
- All Known Implementing Classes:
FulltextSearchSvcImpl
public interface IFulltextSearchSvc
-
Method Summary
Modifier and TypeMethodDescriptionlongcount(String theResourceName, SearchParameterMap theParams) Returns accurate hit countvoiddeleteIndexedDocumentsByTypeAndId(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, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) 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 identifiersbooleanList<ca.uhn.fhir.rest.api.server.storage.IResourcePersistentId>lastN(SearchParameterMap theParams, Integer theMaximumResults) voidreindex(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, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) 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, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) searchNotScrolled(String theResourceName, SearchParameterMap theParams, Integer theMaxResultsToFetch, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Query the index for a plain list (non-scrollable) iterator of results.booleansupportsAllOf(SearchParameterMap theParams) booleansupportsSomeOf(SearchParameterMap myParams) org.hl7.fhir.instance.model.api.IBaseResourceAutocomplete 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, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) 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.theRequestDetails- The request details- Returns:
- the pid list for the matchign resources.
-
searchNotScrolled
ISearchQueryExecutor searchNotScrolled(String theResourceName, SearchParameterMap theParams, Integer theMaxResultsToFetch, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Query the index for a plain list (non-scrollable) iterator of results.- Parameters:
theResourceName- e.g. PatienttheParams- The search querytheMaxResultsToFetch- maximum results to fetchtheRequestDetails- The request details- 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, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) -
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, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) -
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 withIndexedtheGivenIds- The list of IDs for the given document type. Note that while this is a List
-