Sha256: 3a22ce4d8459f19c3956982f1bd465c9848469fd8548cf2c2c1dee6a3a821db3

Contents?: true

Size: 1.48 KB

Versions: 6

Compression:

Stored size: 1.48 KB

Contents

module Groonga
  class IndexColumn
    private :estimate_size_for_term_id
    private :estimate_size_for_query
    private :estimate_size_for_lexicon_cursor

    # Estimate the number of matched records for term ID or query.
    #
    # @overload estimate_size(:term => term)
    #   @param term [Record] the term as a Record
    #   @return [Integer] the number of matched records for the term ID.
    #
    # @overload estimate_size(:term_id => term_id)
    #   @return [Integer] the number of matched records for the term ID.
    #
    # @overload estimate_size(:query => query)
    #   @return [Integer] the number of matched records for the query.
    #
    # @overload estimate_size(:lexicon_cursor => lexicon_cursor)
    #   @return [Integer] the number of matched records for the lexicon cursor.
    #
    def estimate_size(parameters)
      term = parameters[:term]
      if term
        # TODO: Validate lexicon
        return estimate_size_for_term_id(term.id)
      end

      term_id = parameters[:term_id]
      if term_id
        return estimate_size_for_term_id(term_id)
      end

      query = parameters[:query]
      if query
        return estimate_size_for_query(query, parameters)
      end

      lexicon_cursor = parameters[:lexicon_cursor]
      if lexicon_cursor
        return estimate_size_for_lexicon_cursor(lexicon_cursor)
      end

      message =
        "must specify :term_id, :query, :lexicon_cursor: #{parameters.inspect}"
      raise InvalidArgument, message
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rroonga-9.0.7-x64-mingw32 vendor/local/lib/groonga/scripts/ruby/index_column.rb
rroonga-9.0.7-x86-mingw32 vendor/local/lib/groonga/scripts/ruby/index_column.rb
rroonga-9.0.3-x64-mingw32 vendor/local/lib/groonga/scripts/ruby/index_column.rb
rroonga-9.0.3-x86-mingw32 vendor/local/lib/groonga/scripts/ruby/index_column.rb
rroonga-9.0.2-x64-mingw32 vendor/local/lib/groonga/scripts/ruby/index_column.rb
rroonga-9.0.2-x86-mingw32 vendor/local/lib/groonga/scripts/ruby/index_column.rb