Class AsbtractESSearchRequestBuilder<R,S,T extends AsbtractESSearchRequestBuilder>

java.lang.Object
io.vertigo.datafactory.plugins.search.elasticsearch_7_17.AsbtractESSearchRequestBuilder<R,S,T>
Record Components:
R - Type of ES searchRequest : SearchRequest for HLClent or SearchRequestBuilder for TransportClient
S - Type of ES SearchSourceBuilder : SearchSourceBuilder for HLClent or SearchRequestBuilder for TransportClient
All Implemented Interfaces:
io.vertigo.core.lang.Builder<R>

public abstract class AsbtractESSearchRequestBuilder<R,S,T extends AsbtractESSearchRequestBuilder> extends Object implements io.vertigo.core.lang.Builder<R>
ElasticSearch request builder from searchManager api.
Author:
pchretien, npiedeloup
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    AsbtractESSearchRequestBuilder(Map<Class,io.vertigo.core.lang.BasicTypeAdapter> typeAdapters)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract void
    addAggregation(S searchRequestBuilder, org.elasticsearch.search.aggregations.AggregationBuilder aggregationBuilder)
     
    protected void
    addTopHitsAggregation(org.elasticsearch.search.aggregations.AggregationBuilder aggregationBuilder, io.vertigo.datamodel.data.definitions.DataDefinition indexDefinition, io.vertigo.datamodel.data.model.DtListState listState, boolean useHighlight)
     
    protected abstract void
    appendListState(io.vertigo.datafactory.search.model.SearchQuery searchQuery, io.vertigo.datamodel.data.model.DtListState listState, int defaultMaxRows, io.vertigo.datamodel.data.definitions.DataDefinition indexDtDefinition, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> typeAdapters)
     
    protected org.elasticsearch.search.sort.FieldSortBuilder
    getFieldSortBuilder(io.vertigo.datamodel.data.definitions.DataDefinition indexDefinition, io.vertigo.datamodel.data.model.DtListState listState)
     
    protected abstract R
     
    protected abstract S
     
    protected abstract void
    setHighlighter(org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder highlightBuilder)
     
    protected abstract void
    setQueryAndPostFilter(org.elasticsearch.index.query.QueryBuilder requestQueryBuilder, org.elasticsearch.index.query.BoolQueryBuilder postFilterBoolQueryBuilder)
     
    static org.elasticsearch.index.query.QueryBuilder
    translateToQueryBuilder(io.vertigo.datafactory.collections.ListFilter listFilter)
     
    static org.elasticsearch.index.query.QueryBuilder
    translateToQueryBuilder(io.vertigo.datafactory.collections.ListFilter listFilter, Set<io.vertigo.datamodel.data.definitions.DataField> keywordFields)
     
     
    withIndexDtDefinition(io.vertigo.datamodel.data.definitions.DataDefinition indexDtDefinition)
     
    withListState(io.vertigo.datamodel.data.model.DtListState listState, int defaultMaxRows)
     
    withSearchQuery(io.vertigo.datafactory.search.model.SearchQuery searchQuery)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • AsbtractESSearchRequestBuilder

      public AsbtractESSearchRequestBuilder(Map<Class,io.vertigo.core.lang.BasicTypeAdapter> typeAdapters)
      Parameters:
      typeAdapters - Mapping to basic type adapter
  • Method Details

    • withIndexDtDefinition

      public T withIndexDtDefinition(io.vertigo.datamodel.data.definitions.DataDefinition indexDtDefinition)
      Parameters:
      indexDtDefinition - Index dtDefinition
      Returns:
      this builder
    • withSearchQuery

      public T withSearchQuery(io.vertigo.datafactory.search.model.SearchQuery searchQuery)
      Parameters:
      searchQuery - Search query
      Returns:
      this builder
    • withListState

      public T withListState(io.vertigo.datamodel.data.model.DtListState listState, int defaultMaxRows)
      Parameters:
      listState - List state
      defaultMaxRows - default max rows
      Returns:
      this builder
    • withHighlight

      public T withHighlight()
      Returns:
      this builder
    • build

      public R build()
      Specified by:
      build in interface io.vertigo.core.lang.Builder<R>
    • getSearchSourceBuilder

      protected abstract S getSearchSourceBuilder()
    • getSearchRequest

      protected abstract R getSearchRequest()
    • appendListState

      protected abstract void appendListState(io.vertigo.datafactory.search.model.SearchQuery searchQuery, io.vertigo.datamodel.data.model.DtListState listState, int defaultMaxRows, io.vertigo.datamodel.data.definitions.DataDefinition indexDtDefinition, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> typeAdapters)
    • setQueryAndPostFilter

      protected abstract void setQueryAndPostFilter(org.elasticsearch.index.query.QueryBuilder requestQueryBuilder, org.elasticsearch.index.query.BoolQueryBuilder postFilterBoolQueryBuilder)
    • setHighlighter

      protected abstract void setHighlighter(org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder highlightBuilder)
    • addAggregation

      protected abstract void addAggregation(S searchRequestBuilder, org.elasticsearch.search.aggregations.AggregationBuilder aggregationBuilder)
    • getFieldSortBuilder

      protected org.elasticsearch.search.sort.FieldSortBuilder getFieldSortBuilder(io.vertigo.datamodel.data.definitions.DataDefinition indexDefinition, io.vertigo.datamodel.data.model.DtListState listState)
    • addTopHitsAggregation

      protected void addTopHitsAggregation(org.elasticsearch.search.aggregations.AggregationBuilder aggregationBuilder, io.vertigo.datamodel.data.definitions.DataDefinition indexDefinition, io.vertigo.datamodel.data.model.DtListState listState, boolean useHighlight)
    • translateToQueryBuilder

      public static org.elasticsearch.index.query.QueryBuilder translateToQueryBuilder(io.vertigo.datafactory.collections.ListFilter listFilter)
      Parameters:
      listFilter - ListFilter
      Returns:
      QueryBuilder
    • translateToQueryBuilder

      public static org.elasticsearch.index.query.QueryBuilder translateToQueryBuilder(io.vertigo.datafactory.collections.ListFilter listFilter, Set<io.vertigo.datamodel.data.definitions.DataField> keywordFields)
      Parameters:
      listFilter - ListFilter
      Returns:
      QueryBuilder