Module: FullSearch

Defined in:
lib/full_search.rb,
lib/full_search/dsl.rb,
lib/full_search/typo.rb,
lib/full_search/index.rb,
lib/full_search/model.rb,
lib/full_search/config.rb,
lib/full_search/errors.rb,
lib/full_search/search.rb,
lib/full_search/quoting.rb,
lib/full_search/railtie.rb,
lib/full_search/version.rb,
lib/full_search/distance.rb,
lib/full_search/callbacks.rb,
lib/full_search/constants.rb,
lib/full_search/tokenizer.rb,
lib/full_search/bulk_import.rb,
lib/full_search/exact_match.rb,
lib/full_search/highlighter.rb,
lib/full_search/index_cache.rb,
lib/full_search/reindex_job.rb,
lib/full_search/soft_delete.rb,
lib/full_search/backfill_job.rb,
lib/full_search/multi_search.rb,
lib/full_search/optimize_job.rb,
lib/full_search/query_parser.rb,
lib/full_search/test_helpers.rb,
lib/full_search/instrumentation.rb,
lib/full_search/schema_dumper_patch.rb,
lib/generators/full_search/install/install_generator.rb

Defined Under Namespace

Modules: BulkImport, Callbacks, Constants, Distance, Generators, Instrumentation, Model, QueryParser, Quoting, SchemaDumperPatch, SoftDelete, TestHelpers, Tokenizer, Typo, VirtualTablesPatch Classes: BackfillJob, Config, ConfigChangedError, Dsl, Error, ExactMatch, Highlighter, Index, IndexCache, InvalidFieldError, InvalidQueryError, MissingRequiredFilterError, MissingTableError, MultiSearch, NotConfiguredError, OptimizeJob, Railtie, ReindexJob, Search, UnknownFilterError, UnsupportedDatabaseError

Constant Summary collapse

VERSION =
"0.4.0"

Class Method Summary collapse

Class Method Details

.bulk_import(model, &block) ⇒ Object



67
68
69
# File 'lib/full_search.rb', line 67

def bulk_import(model, &block)
  BulkImport.bulk_import(model, &block)
end

.bulk_importing?(model) ⇒ Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/full_search.rb', line 71

def bulk_importing?(model)
  BulkImport.bulk_importing?(model)
end

.configObject



24
25
26
# File 'lib/full_search/config.rb', line 24

def config
  @config ||= Config.new
end

.configure {|config| ... } ⇒ Object

Yields:



28
29
30
# File 'lib/full_search/config.rb', line 28

def configure
  yield config
end

.deregister_model(model) ⇒ Object



52
53
54
# File 'lib/full_search.rb', line 52

def deregister_model(model)
  models.delete(model)
end

.modelsObject



40
41
42
# File 'lib/full_search.rb', line 40

def models
  @models ||= Set.new
end

.multi_searchObject



65
66
67
# File 'lib/full_search/multi_search.rb', line 65

def multi_search(...)
  MultiSearch.call(...)
end

.optimize!Object



56
57
58
# File 'lib/full_search.rb', line 56

def optimize!
  sorted_models.each { |model| Index.optimize!(model) }
end

.register_model(model) ⇒ Object



48
49
50
# File 'lib/full_search.rb', line 48

def register_model(model)
  models << model
end

.setup!Object



60
61
62
63
64
65
# File 'lib/full_search.rb', line 60

def setup!
  sorted_models.each do |model|
    Index.ensure_table!(model)
    Callbacks.install!(model)
  end
end

.sorted_modelsObject



44
45
46
# File 'lib/full_search.rb', line 44

def sorted_models
  models.sort_by { |m| m.table_name.to_s }
end