Class: ClWiki::IndexClient

Inherits:
Object
  • Object
show all
Defined in:
lib/cl_wiki/index.rb

Instance Method Summary collapse

Constructor Details

#initialize(wiki_conf = $wiki_conf) ⇒ IndexClient

Returns a new instance of IndexClient.



299
300
301
302
303
304
305
306
307
308
309
310
# File 'lib/cl_wiki/index.rb', line 299

def initialize(wiki_conf=$wiki_conf)
  case wiki_conf.useIndex
    when ClWiki::Configuration::USE_INDEX_NO
      raise 'wikiConf.useIndex says to not use an index'
    when ClWiki::Configuration::USE_INDEX_DRB
      DRb.start_service()
      @indexer = DRbObject.new(nil, "druby://localhost:#{wiki_conf.indexPort}")
    when ClWiki::Configuration::USE_INDEX_LOCAL
      $indexer ||= ClWiki::Indexer.new(wiki_conf, wiki_conf.index_log_fn)
      @indexer = $indexer
  end
end

Instance Method Details

#add_hit(fullPageName) ⇒ Object



346
347
348
# File 'lib/cl_wiki/index.rb', line 346

def add_hit(fullPageName)
  @indexer.add_hit(fullPageName)
end

#hit_summary(start_index = 0, end_index = -1)) ⇒ Object



350
351
352
# File 'lib/cl_wiki/index.rb', line 350

def hit_summary(start_index=0, end_index=-1)
  @indexer.hit_summary(start_index, end_index)
end

#page_exists?(fullPageName) ⇒ Boolean

Returns:

  • (Boolean)


334
335
336
# File 'lib/cl_wiki/index.rb', line 334

def page_exists?(fullPageName)
  @indexer.page_exists?(fullPageName)
end

#recent(top = -1)) ⇒ Object



342
343
344
# File 'lib/cl_wiki/index.rb', line 342

def recent(top=-1)
  @indexer.recent(top)
end

#reindex_page(full_page_name) ⇒ Object



316
317
318
# File 'lib/cl_wiki/index.rb', line 316

def reindex_page(full_page_name)
  @indexer.reindex_page(full_page_name)
end

#reindex_page_and_save_async(fullPageName) ⇒ Object



312
313
314
# File 'lib/cl_wiki/index.rb', line 312

def reindex_page_and_save_async(fullPageName)
  @indexer.reindex_and_save_async(fullPageName)
end

#saveObject



320
321
322
# File 'lib/cl_wiki/index.rb', line 320

def save
  @indexer.save
end

#search(term, titles_only = false) ⇒ Object



324
325
326
327
328
329
330
331
332
# File 'lib/cl_wiki/index.rb', line 324

def search(term, titles_only=false)
  hits = @indexer.search(term).flatten
  if titles_only
    hits.delete_if do |fullName|
      !(fullName =~ /#{term}/i)
    end
  end
  hits
end

#sort_hits_by_recent(hits, top = -1)) ⇒ Object



338
339
340
# File 'lib/cl_wiki/index.rb', line 338

def sort_hits_by_recent(hits, top=-1)
  @indexer.sort_hits_by_recent(hits, top)
end