Class: ClWiki::IndexClient
- Inherits:
-
Object
- Object
- ClWiki::IndexClient
- Defined in:
- lib/cl_wiki/index.rb
Instance Method Summary collapse
- #add_hit(fullPageName) ⇒ Object
- #hit_summary(start_index = 0, end_index = -1)) ⇒ Object
-
#initialize(wiki_conf = $wiki_conf) ⇒ IndexClient
constructor
A new instance of IndexClient.
- #page_exists?(fullPageName) ⇒ Boolean
- #recent(top = -1)) ⇒ Object
- #reindex_page(fullPageName) ⇒ Object
- #search(term, titles_only = false) ⇒ Object
- #sort_hits_by_recent(hits, top = -1)) ⇒ Object
Constructor Details
#initialize(wiki_conf = $wiki_conf) ⇒ IndexClient
Returns a new instance of IndexClient.
304 305 306 307 308 309 310 311 312 313 314 315 |
# File 'lib/cl_wiki/index.rb', line 304 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
343 344 345 |
# File 'lib/cl_wiki/index.rb', line 343 def add_hit(fullPageName) @indexer.add_hit(fullPageName) end |
#hit_summary(start_index = 0, end_index = -1)) ⇒ Object
347 348 349 |
# File 'lib/cl_wiki/index.rb', line 347 def hit_summary(start_index=0, end_index=-1) @indexer.hit_summary(start_index, end_index) end |
#page_exists?(fullPageName) ⇒ Boolean
331 332 333 |
# File 'lib/cl_wiki/index.rb', line 331 def page_exists?(fullPageName) @indexer.page_exists?(fullPageName) end |
#recent(top = -1)) ⇒ Object
339 340 341 |
# File 'lib/cl_wiki/index.rb', line 339 def recent(top=-1) @indexer.recent(top) end |
#reindex_page(fullPageName) ⇒ Object
317 318 319 |
# File 'lib/cl_wiki/index.rb', line 317 def reindex_page(fullPageName) @indexer.reindex_and_save_async(fullPageName) end |
#search(term, titles_only = false) ⇒ Object
321 322 323 324 325 326 327 328 329 |
# File 'lib/cl_wiki/index.rb', line 321 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
335 336 337 |
# File 'lib/cl_wiki/index.rb', line 335 def sort_hits_by_recent(hits, top=-1) @indexer.sort_hits_by_recent(hits, top) end |