Changeset 288

Show
Ignore:
Timestamp:
02/20/08 04:50:22 (9 months ago)
Author:
jake
Message:

Fixed remove code

Location:
trunk/thrudex/src
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/thrudex/src/CLuceneIndex.cpp

    r286 r288  
    4848    bool   new_index; 
    4949 
     50    random_seed = (size_t)filter_space*rand(); 
     51 
    5052    try { 
    5153 
     
    7274        //build up bloom filter 
    7375 
    74         disk_bloom    = shared_ptr<bloom_filter>(new bloom_filter(filter_space,1.0/(1.0 * filter_space), ((int) filter_space*rand()))); 
     76        disk_bloom    = shared_ptr<bloom_filter>(new bloom_filter(filter_space,1.0/(1.0 * filter_space), random_seed)); 
    7577 
    7678        if(!new_index){ 
     
    100102        ram_directory->__cl_addref(); //trick clucene's lame ref counters 
    101103 
    102         ram_bloom     = shared_ptr<bloom_filter> (new bloom_filter(filter_space,1.0/(1.0 * filter_space), ((int) filter_space*rand()))); 
     104        ram_bloom     = shared_ptr<bloom_filter> (new bloom_filter(filter_space,1.0/(1.0 * filter_space), random_seed)); 
    103105        ram_searcher  = shared_ptr<IndexSearcher>(new IndexSearcher(ram_directory.get())); 
    104106 
     
    223225    shared_ptr<set<string> >  l_disk_deletes = disk_deletes; 
    224226 
     227 
    225228    //Since we don't want to write to disk 
    226229    //We'll simply track the docs to remove on next merge 
    227230    if( l_disk_bloom->contains( key )){ 
     231        LOG4CXX_INFO(logger, "Removed "+key); 
    228232        l_disk_deletes->insert( key ); 
     233        last_modified = Util::currentTime(); 
    229234    } 
    230235 
     
    430435 
    431436        //create new handles 
    432         ram_directory = shared_ptr<CLuceneRAMDirectory>(new CLuceneRAMDirectory()); 
     437        ram_directory.reset(new CLuceneRAMDirectory()); 
    433438        ram_directory->__cl_addref(); //trick clucene's lame ref counters 
    434439 
    435         ram_bloom     = shared_ptr<bloom_filter> (new bloom_filter(filter_space,1.0/(1.0 * filter_space), ((int) filter_space*rand()))); 
    436         modifier      = shared_ptr<IndexModifier>(new IndexModifier(ram_directory.get(),analyzer.get(),true)); 
     440        ram_bloom.reset(new bloom_filter(filter_space,1.0/(1.0 * filter_space), random_seed)); 
     441        modifier.reset(new IndexModifier(ram_directory.get(),analyzer.get(),true)); 
    437442 
    438443        ram_prev_prev_directory = ram_prev_directory; 
    439444        ram_prev_directory      = l_ram_directory; 
    440445 
    441         disk_deletes  = shared_ptr<set<string> >(new set<string>()); 
     446        disk_deletes.reset(new set<string>()); 
    442447    } 
    443448 
     
    456461 
    457462        disk_reader->deleteDocuments(t); 
     463 
     464        LOG4CXX_DEBUG(logger,"Deleted"+(*it)); 
    458465 
    459466        delete t; 
     
    476483        disk_writer->close(); 
    477484 
     485        //Merge in the ram bloom 
     486        *l_disk_bloom.get() |= *l_ram_bloom.get(); 
     487 
     488 
    478489        LOG4CXX_DEBUG(logger,"Merged"); 
    479490    } 
    480         //Search new index (big perf hit so get it over now) 
     491    //Search new index (big perf hit so get it over now) 
     492 
    481493    shared_ptr<IndexSearcher> l_disk_searcher(new IndexSearcher(idx_path.c_str())); 
    482494    wstring q = wstring(DOC_KEY)+wstring(L":1234"); 
  • trunk/thrudex/src/CLuceneIndex.h

    r270 r288  
    9292 
    9393    boost::shared_ptr<bloom_filter>                  ram_bloom; 
     94 
     95    std::size_t random_seed; 
    9496}; 
    9597