Module: SwitchSearchable::SearchEngine::Postgres::ClassMethods

Defined in:
lib/switch_searchable/search_engine/postgres.rb

Instance Method Summary collapse

Instance Method Details

#init_search_engine(*names) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/switch_searchable/search_engine/postgres.rb', line 19

def init_search_engine(*names)
  trigram_threshold = {using: {trigram: {
    threshold: 0.05
  }}}

  # there should only be one Hash in *names
  associated_against = nil
  against = names.flatten.inject([]) do |array, value|
    if value.is_a? Symbol
      array << value
    elsif value.is_a? Hash
      associated_against = value
    end

    array
  end

  pg_search_scope(:pg_search, {
    against: against,
    associated_against: associated_against,
  }.merge(trigram_threshold))
end

#reindex_search_engine!Object



46
# File 'lib/switch_searchable/search_engine/postgres.rb', line 46

def reindex_search_engine!; end

#search(term) ⇒ Object



42
43
44
# File 'lib/switch_searchable/search_engine/postgres.rb', line 42

def search(term)
  pg_search(term)
end