Package com.sap.cds.jdbc.hana.search
Class HanaSearchResolver
java.lang.Object
com.sap.cds.jdbc.generic.AbstractSearchResolver
com.sap.cds.jdbc.hana.search.HanaSearchResolver
- All Implemented Interfaces:
SearchResolver
- Direct Known Subclasses:
HanaSearchResolverUsingContains,HanaSearchResolverUsingScore
A
SearchResolver implementation that renders a CONTAINS|SCORE
function in an EXISTS subquery.-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class com.sap.cds.jdbc.generic.AbstractSearchResolver
config, locale, model -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedHanaSearchResolver(DataStoreConfiguration config, CdsModel cdsModel, Locale locale) -
Method Summary
Modifier and TypeMethodDescriptionstatic SearchResolverforHexEngine(DataStoreConfiguration config, CdsModel cdsModel, Locale locale) static HanaSearchResolverforLegacyEngine(DataStoreConfiguration config, CdsModel cdsModel, Locale locale) protected BigDecimalprotected booleanprotected abstract voidhandleLargeStringElement(Set<CqnElementRef> like, Map<CqnElementRef, CdsElement> scoreOrContains, CdsStructuredType targetType, CqnElementRef ref, CdsElement element) protected abstract booleanhandleLocalizedElement(CdsStructuredType targetType, Set<CqnElementRef> like, Map<CqnElementRef, CdsElement> scoreOrContains, boolean languageGiven, CqnElementRef ref, CdsElement element) protected abstract voidhandleRegularElement(CdsStructuredType targetType, Set<CqnElementRef> like, Map<CqnElementRef, CdsElement> scoreOrContains, CqnElementRef ref, CdsElement element) protected abstract booleanneedsPushToSubquery(CdsElement element) protected voidresolve(CqnSelect select, CqnPredicate search, CdsStructuredType targetType, Collection<CqnElementRef> searchableRefs) protected abstract CqnPredicatesearchToHana(Map<CqnElementRef, CdsElement> searchableRefs, CqnPredicate expression) protected static HanaSearchResolver.SearchStringtoSearchString(CqnPredicate expression, boolean fuzzy) Methods inherited from class com.sap.cds.jdbc.generic.AbstractSearchResolver
addRefsViaLocalizedAssociation, allLocalizedElementsAreReachableViaLocalizedAssociation, anyRefViaCollectionAssociation, configuredSearchMode, defaultSearchMode, hasAliasedLocalizedElementsInView, isReachableViaLocalizedAssoc, isSearchable, localizedRef, navigatesToManyAssoc, pushDownToExistsSubquery, resolve, resolveUsingLocalizedAssociationWithLike, resolveUsingLocalizedViewWithLike, searchMode, wrapIntoExistsSubqueryMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.sap.cds.jdbc.spi.SearchResolver
pushDownSearchToSubquery
-
Constructor Details
-
HanaSearchResolver
-
-
Method Details
-
forLegacyEngine
public static HanaSearchResolver forLegacyEngine(DataStoreConfiguration config, CdsModel cdsModel, Locale locale) -
forHexEngine
public static SearchResolver forHexEngine(DataStoreConfiguration config, CdsModel cdsModel, Locale locale) -
fuzzySearch
protected boolean fuzzySearch() -
fuzzinessThreshold
-
resolve
protected void resolve(CqnSelect select, CqnPredicate search, CdsStructuredType targetType, Collection<CqnElementRef> searchableRefs) - Specified by:
resolvein classAbstractSearchResolver
-
handleLargeStringElement
protected abstract void handleLargeStringElement(Set<CqnElementRef> like, Map<CqnElementRef, CdsElement> scoreOrContains, CdsStructuredType targetType, CqnElementRef ref, CdsElement element) -
handleLocalizedElement
protected abstract boolean handleLocalizedElement(CdsStructuredType targetType, Set<CqnElementRef> like, Map<CqnElementRef, CdsElement> scoreOrContains, boolean languageGiven, CqnElementRef ref, CdsElement element) -
handleRegularElement
protected abstract void handleRegularElement(CdsStructuredType targetType, Set<CqnElementRef> like, Map<CqnElementRef, CdsElement> scoreOrContains, CqnElementRef ref, CdsElement element) -
toSearchString
protected static HanaSearchResolver.SearchString toSearchString(CqnPredicate expression, boolean fuzzy) -
searchToHana
protected abstract CqnPredicate searchToHana(Map<CqnElementRef, CdsElement> searchableRefs, CqnPredicate expression) -
needsPushToSubquery
-