Class AnyTermAnyFieldElasticsearchSearchStrategy

java.lang.Object
io.jmix.search.searching.impl.AbstractSearchStrategy
io.jmix.searchelasticsearch.searching.strategy.impl.AnyTermAnyFieldElasticsearchSearchStrategy
All Implemented Interfaces:
SearchStrategy, ElasticsearchSearchStrategy

@Component("search_AnyTermAnyFieldElasticsearchSearchStrategy") public class AnyTermAnyFieldElasticsearchSearchStrategy extends AbstractSearchStrategy implements ElasticsearchSearchStrategy
Class that encapsulates logic of SearchStrategy that searches documents with at least one field matches at least one input word.
  • Field Details

    • searchUtils

      protected final SearchUtils searchUtils
  • Constructor Details

    • AnyTermAnyFieldElasticsearchSearchStrategy

      public AnyTermAnyFieldElasticsearchSearchStrategy(SearchUtils searchUtils)
  • Method Details

    • getName

      public String getName()
      Description copied from interface: SearchStrategy
      Provides the name of this search strategy. Name should be unique among all search strategies in application.
      Specified by:
      getName in interface SearchStrategy
      Returns:
      name
    • configureRequest

      public void configureRequest(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext)
      Description copied from interface: ElasticsearchSearchStrategy
      Configures Elasticsearch SearchRequest.

      The main step - create appropriate query based on provided SearchContext and set it to request.

      Configuration of another request parameters is optional.

      Highlighting, size and offset shouldn't be configured here - these parameters will be overwritten.

      Specified by:
      configureRequest in interface ElasticsearchSearchStrategy
      Parameters:
      requestBuilder - allows to configure search request
      searchContext - contains details about search being performed