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(full_page_name) ⇒ Object
- #reindex_page_and_save_async(fullPageName) ⇒ Object
- #save ⇒ 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.
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
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 |
#save ⇒ Object
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 |