Skip to content

Commit

Permalink
HSEARCH-2589 Implement terms predicate api in backend lucene
Browse files Browse the repository at this point in the history
  • Loading branch information
fax4ever committed Apr 12, 2021
1 parent 13ab2df commit 41dc3e9
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 2 deletions.
Expand Up @@ -103,8 +103,7 @@ public RegexpPredicateBuilder regexp(String absoluteFieldPath) {

@Override
public TermsPredicateBuilder terms(String absoluteFieldPath) {
// TODO HSEARCH-4134 Implement it in this backend
return null;
return indexes.field( absoluteFieldPath ).queryElement( PredicateTypeKeys.TERMS, searchContext );
}

@Override
Expand Down
Expand Up @@ -16,6 +16,7 @@
import org.hibernate.search.engine.search.predicate.spi.SpatialWithinBoundingBoxPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.SpatialWithinCirclePredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.SpatialWithinPolygonPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.TermsPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.WildcardPredicateBuilder;

public final class PredicateTypeKeys {
Expand All @@ -29,6 +30,7 @@ private PredicateTypeKeys() {
public static final SearchQueryElementTypeKey<PhrasePredicateBuilder> PHRASE = key( "phrase" );
public static final SearchQueryElementTypeKey<WildcardPredicateBuilder> WILDCARD = key( "wildcard" );
public static final SearchQueryElementTypeKey<RegexpPredicateBuilder> REGEXP = key( "regexp" );
public static final SearchQueryElementTypeKey<TermsPredicateBuilder> TERMS = key( "terms" );
public static final SearchQueryElementTypeKey<LuceneSimpleQueryStringPredicateBuilderFieldState> SIMPLE_QUERY_STRING =
key( "simple-query-string" );
public static final SearchQueryElementTypeKey<SpatialWithinCirclePredicateBuilder> SPATIAL_WITHIN_CIRCLE =
Expand Down
Expand Up @@ -21,6 +21,7 @@
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneExistsPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericMatchPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericRangePredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericTermsPredicate;
import org.hibernate.search.backend.lucene.types.sort.impl.LuceneStandardFieldSort;
import org.hibernate.search.engine.backend.types.Sortable;

Expand Down Expand Up @@ -57,6 +58,7 @@ public LuceneIndexValueFieldType<F> toIndexFieldType() {
builder.searchable( true );
builder.queryElementFactory( PredicateTypeKeys.MATCH, new LuceneNumericMatchPredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.RANGE, new LuceneNumericRangePredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.TERMS, new LuceneNumericTermsPredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.EXISTS,
DocValues.ENABLED.equals( docValues ) ? new LuceneExistsPredicate.DocValuesBasedFactory<>()
: new LuceneExistsPredicate.DefaultFactory<>() );
Expand Down
Expand Up @@ -23,6 +23,7 @@
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneExistsPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericMatchPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericRangePredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericTermsPredicate;
import org.hibernate.search.backend.lucene.types.sort.impl.LuceneStandardFieldSort;
import org.hibernate.search.engine.backend.types.Sortable;

Expand Down Expand Up @@ -62,6 +63,7 @@ public LuceneIndexValueFieldType<F> toIndexFieldType() {
builder.searchable( true );
builder.queryElementFactory( PredicateTypeKeys.MATCH, new LuceneNumericMatchPredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.RANGE, new LuceneNumericRangePredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.TERMS, new LuceneNumericTermsPredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.EXISTS,
DocValues.ENABLED.equals( docValues ) ? new LuceneExistsPredicate.DocValuesBasedFactory<>()
: new LuceneExistsPredicate.DefaultFactory<>() );
Expand Down
Expand Up @@ -20,6 +20,7 @@
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneExistsPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericMatchPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericRangePredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneNumericTermsPredicate;
import org.hibernate.search.backend.lucene.types.sort.impl.LuceneStandardFieldSort;
import org.hibernate.search.engine.backend.types.Sortable;

Expand Down Expand Up @@ -56,6 +57,7 @@ public LuceneIndexValueFieldType<Boolean> toIndexFieldType() {
builder.searchable( true );
builder.queryElementFactory( PredicateTypeKeys.MATCH, new LuceneNumericMatchPredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.RANGE, new LuceneNumericRangePredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.TERMS, new LuceneNumericTermsPredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.EXISTS,
DocValues.ENABLED.equals( docValues ) ? new LuceneExistsPredicate.DocValuesBasedFactory<>()
: new LuceneExistsPredicate.DefaultFactory<>() );
Expand Down
Expand Up @@ -26,6 +26,7 @@
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextPhrasePredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextRangePredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextRegexpPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextTermsPredicate;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneTextWildcardPredicate;
import org.hibernate.search.backend.lucene.types.sort.impl.LuceneStandardFieldSort;
import org.hibernate.search.engine.backend.types.Norms;
Expand Down Expand Up @@ -168,6 +169,7 @@ public LuceneIndexValueFieldType<String> toIndexFieldType() {
builder.searchable( true );
builder.queryElementFactory( PredicateTypeKeys.MATCH, new LuceneTextMatchPredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.RANGE, new LuceneTextRangePredicate.Factory<>( codec ) );
builder.queryElementFactory( PredicateTypeKeys.TERMS, new LuceneTextTermsPredicate.Factory<>( codec ) );
if ( resolvedNorms ) {
builder.queryElementFactory( PredicateTypeKeys.EXISTS, new LuceneExistsPredicate.NormsBasedFactory() );
}
Expand Down

0 comments on commit 41dc3e9

Please sign in to comment.