Class SearchImpl

  • All Implemented Interfaces:
    Search

    public final class SearchImpl
    extends LukeModel
    implements Search
    Default implementation of Search
    • Constructor Detail

      • SearchImpl

        public SearchImpl​(IndexReader reader)
        Constructs a SearchImpl that holds given IndexReader
        Parameters:
        reader - - the index reader
    • Method Detail

      • getCurrentQuery

        public Query getCurrentQuery()
        Description copied from interface: Search
        Returns the current query.
        Specified by:
        getCurrentQuery in interface Search
      • parseQuery

        public Query parseQuery​(String expression,
                                String defField,
                                Analyzer analyzer,
                                QueryParserConfig config,
                                boolean rewrite)
        Description copied from interface: Search
        Parses the specified query expression with given configurations.
        Specified by:
        parseQuery in interface Search
        Parameters:
        expression - - query expression
        defField - - default field for the query
        analyzer - - analyzer for parsing query expression
        config - - query parser configuration
        rewrite - - if true, re-written query is returned
        Returns:
        parsed query
      • mltQuery

        public Query mltQuery​(int docid,
                              MLTConfig mltConfig,
                              Analyzer analyzer)
        Description copied from interface: Search
        Creates the MoreLikeThis query for the specified document with given configurations.
        Specified by:
        mltQuery in interface Search
        Parameters:
        docid - - document id
        mltConfig - - MoreLikeThis configuration
        analyzer - - analyzer for analyzing the document
        Returns:
        MoreLikeThis query
      • search

        public SearchResults search​(Query query,
                                    SimilarityConfig simConfig,
                                    Set<String> fieldsToLoad,
                                    int pageSize,
                                    boolean exactHitsCount)
        Description copied from interface: Search
        Searches this index by the query with given configurations.
        Specified by:
        search in interface Search
        Parameters:
        query - - search query
        simConfig - - similarity configuration
        fieldsToLoad - - field names to load
        pageSize - - page size
        exactHitsCount - - if set to true, the exact total hits count is returned.
        Returns:
        search results
      • search

        public SearchResults search​(Query query,
                                    SimilarityConfig simConfig,
                                    Sort sort,
                                    Set<String> fieldsToLoad,
                                    int pageSize,
                                    boolean exactHitsCount)
        Description copied from interface: Search
        Searches this index by the query with given sort criteria and configurations.
        Specified by:
        search in interface Search
        Parameters:
        query - - search query
        simConfig - - similarity configuration
        sort - - sort criteria
        fieldsToLoad - - fields to load
        pageSize - - page size
        exactHitsCount - - if set to true, the exact total hits count is returned.
        Returns:
        search results
      • nextPage

        public Optional<SearchResults> nextPage()
        Description copied from interface: Search
        Returns the next page for the current query.
        Specified by:
        nextPage in interface Search
        Returns:
        search results, or empty if there are no more results
      • prevPage

        public Optional<SearchResults> prevPage()
        Description copied from interface: Search
        Returns the previous page for the current query.
        Specified by:
        prevPage in interface Search
        Returns:
        search results, or empty if there are no more results.
      • guessSortTypes

        public List<SortField> guessSortTypes​(String name)
        Description copied from interface: Search
        Returns possible SortFields for the specified field.
        Specified by:
        guessSortTypes in interface Search
        Parameters:
        name - - field name
        Returns:
        list of possible sort types
      • getSortType

        public Optional<SortField> getSortType​(String name,
                                               String type,
                                               boolean reverse)
        Description copied from interface: Search
        Returns the SortField for the specified field with the sort type and order.
        Specified by:
        getSortType in interface Search
        Parameters:
        name - - field name
        type - - string representation for a type
        reverse - - if true, descending order is used
        Returns:
        sort type, or empty if the type is incompatible with the field
      • explain

        public Explanation explain​(Query query,
                                   int docid)
        Description copied from interface: Search
        Explains the document for the specified query.
        Specified by:
        explain in interface Search
        Parameters:
        query - - query
        docid - - document id to be explained
        Returns:
        explanations