Class: Parse::AtlasSearch::SearchResult

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/parse/atlas_search/result.rb

Overview

Result container for full-text search operations. Provides access to results with relevance scores.

Examples:

Iterating results

result = Parse::AtlasSearch.search("Song", "love")
result.each do |song|
  puts "#{song.title} (score: #{song.search_score})"
end

Checking results

result.empty?  # => false
result.count   # => 25

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(results:, raw_results: nil) ⇒ SearchResult

Returns a new instance of SearchResult.

Parameters:

  • results (Array)

    the processed search results

  • raw_results (Array<Hash>) (defaults to: nil)

    the raw MongoDB documents



29
30
31
32
# File 'lib/parse/atlas_search/result.rb', line 29

def initialize(results:, raw_results: nil)
  @results = results
  @raw_results = raw_results || results
end

Instance Attribute Details

#raw_resultsArray<Hash> (readonly)

Returns the raw MongoDB documents.

Returns:

  • (Array<Hash>)

    the raw MongoDB documents



25
26
27
# File 'lib/parse/atlas_search/result.rb', line 25

def raw_results
  @raw_results
end

#resultsArray<Parse::Object> (readonly)

Returns the search results (Parse objects or raw hashes).

Returns:



22
23
24
# File 'lib/parse/atlas_search/result.rb', line 22

def results
  @results
end

Instance Method Details

#[](index) ⇒ Object?

Access result by index

Parameters:

  • index (Integer)

    the index

Returns:

  • (Object, nil)

    the result at the index



66
67
68
# File 'lib/parse/atlas_search/result.rb', line 66

def [](index)
  @results[index]
end

#countInteger Also known as: size, length

Returns the number of results.

Returns:

  • (Integer)

    the number of results



35
36
37
# File 'lib/parse/atlas_search/result.rb', line 35

def count
  @results.size
end

#each {|Object| ... } ⇒ Object

Iterate over results

Yields:

  • (Object)

    each result object



49
50
51
# File 'lib/parse/atlas_search/result.rb', line 49

def each(&block)
  @results.each(&block)
end

#empty?Boolean

Returns true if there are no results.

Returns:

  • (Boolean)

    true if there are no results



43
44
45
# File 'lib/parse/atlas_search/result.rb', line 43

def empty?
  @results.empty?
end

#firstObject?

Returns the first result.

Returns:

  • (Object, nil)

    the first result



54
55
56
# File 'lib/parse/atlas_search/result.rb', line 54

def first
  @results.first
end

#lastObject?

Returns the last result.

Returns:

  • (Object, nil)

    the last result



59
60
61
# File 'lib/parse/atlas_search/result.rb', line 59

def last
  @results.last
end

#to_aArray

Returns the results as an array.

Returns:

  • (Array)

    the results as an array



71
72
73
# File 'lib/parse/atlas_search/result.rb', line 71

def to_a
  @results.to_a
end