Interface SearchQueryElementFactory<T,SC,N>

Type Parameters:
T - The type returned by create(Object, Object). Can be the type of the query element, or an intermediary builder type.
SC - The type of the backend-specific search scope.
N - The type representing the target of the query element.
All Known Implementing Classes:
AbstractElasticsearchCodecAwareSearchQueryElementFactory, AbstractElasticsearchCompositeNodeSearchQueryElementFactory, AbstractElasticsearchValueFieldSearchQueryElementFactory, AbstractLuceneCodecAwareSearchQueryElementFactory, AbstractLuceneCompositeNodeSearchQueryElementFactory, AbstractLuceneValueFieldSearchQueryElementFactory, ElasticsearchCommonQueryStringPredicateBuilderFieldState.Factory, ElasticsearchDistanceSort.Factory, ElasticsearchDistanceToFieldProjection.Factory, ElasticsearchExistsPredicate.Factory, ElasticsearchExistsPredicate.ObjectFieldFactory, ElasticsearchFieldHighlightProjection.Factory, ElasticsearchFieldProjection.Factory, ElasticsearchGeoPointSpatialWithinBoundingBoxPredicate.Factory, ElasticsearchGeoPointSpatialWithinCirclePredicate.Factory, ElasticsearchGeoPointSpatialWithinPolygonPredicate.Factory, ElasticsearchKnnPredicate.Elasticsearch812Factory, ElasticsearchKnnPredicate.OpenSearch214Factory, ElasticsearchKnnPredicate.OpenSearch2Factory, ElasticsearchNamedPredicate.Factory, ElasticsearchNestedPredicate.Factory, ElasticsearchObjectProjection.Factory, ElasticsearchRangeAggregation.Factory, ElasticsearchRangePredicate.Factory, ElasticsearchStandardFieldSort.Factory, ElasticsearchStandardFieldSort.TemporalFieldFactory, ElasticsearchStandardFieldSort.TextFieldFactory, ElasticsearchStandardMatchPredicate.Factory, ElasticsearchTermsAggregation.Factory, ElasticsearchTermsPredicate.Factory, ElasticsearchTextMatchPredicate.Factory, ElasticsearchTextPhrasePredicate.Factory, ElasticsearchTextPrefixPredicate.Factory, ElasticsearchTextRegexpPredicate.Factory, ElasticsearchTextWildcardPredicate.Factory, LuceneCommonQueryStringPredicateBuilderFieldState.Factory, LuceneDistanceToFieldProjection.Factory, LuceneExistsPredicate.DefaultFactory, LuceneExistsPredicate.DocValuesOrNormsBasedFactory, LuceneFieldHighlightProjection.Factory, LuceneFieldProjection.Factory, LuceneGeoPointDistanceSort.Factory, LuceneGeoPointSpatialWithinBoundingBoxPredicate.Factory, LuceneGeoPointSpatialWithinCirclePredicate.Factory, LuceneGeoPointSpatialWithinPolygonPredicate.Factory, LuceneKnnPredicate.ByteFactory, LuceneKnnPredicate.FloatFactory, LuceneNamedPredicate.Factory, LuceneNestedPredicate.Factory, LuceneNumericMatchPredicate.Factory, LuceneNumericRangeAggregation.Factory, LuceneNumericRangePredicate.Factory, LuceneNumericTermsAggregation.Factory, LuceneNumericTermsPredicate.Factory, LuceneObjectExistsPredicate.Factory, LuceneObjectProjection.Factory, LuceneStandardFieldSort.NumericFieldFactory, LuceneStandardFieldSort.TemporalFieldFactory, LuceneStandardFieldSort.TextFieldFactory, LuceneTextMatchPredicate.Factory, LuceneTextPhrasePredicate.Factory, LuceneTextPrefixPredicate.Factory, LuceneTextRangePredicate.Factory, LuceneTextRegexpPredicate.Factory, LuceneTextTermsAggregation.Factory, LuceneTextTermsPredicate.Factory, LuceneTextWildcardPredicate.Factory

public interface SearchQueryElementFactory<T,SC,N>
A factory for query elements (predicates, sorts, projections, aggregations, ...) targeting index nodes (root, value fields, object fields).
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Checks whether this factory and the given factory can be used interchangeably.
    create(SC scope, N node)
     
  • Method Details

    • create

      T create(SC scope, N node)
      Parameters:
      scope - The search context, i.e. information regarding the targeted indexes.
      node - The targeted index node.
      Returns:
      The query element, or an intermediary builder (depending on the factory type).
    • checkCompatibleWith

      void checkCompatibleWith(SearchQueryElementFactory<?,?,?> other)
      Checks whether this factory and the given factory can be used interchangeably.
      Parameters:
      other - Another factory.
      Throws:
      SearchException - if the two factories cannot be used interchangeably.