Ignore:
Timestamp:
2004-08-23T23:14:51+12:00 (20 years ago)
Author:
davidb
Message:

Changes introduced to support lucene indexer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/colservr/collectset.cpp

    r7302 r8028  
    3434#include "mgqueryfilter.h"
    3535#include "mgppqueryfilter.h"
     36#include "lucenequeryfilter.h"
    3637#include "mggdbmsource.h"
     38#include "lucenegdbmsource.h"
    3739#include "fileutil.h"
    3840#include <assert.h>
     
    6567      }
    6668
    67       // read config file to see if built with mg or mgpp
     69      // read config file to see if built with mg, mgpp, or lucene
    6870      text_t buildtype = "mg"; // mg is default
    6971      text_tarray cfgline;
     
    8688     
    8789      confin.close();
    88    
     90
    8991      // this memory is created but never destroyed
    9092      // we're also not doing any error checking to make sure we didn't
     
    108110        mgqueryfilterclass *queryfilter = new mgqueryfilterclass();
    109111        queryfilter->set_gdbmptr (gdbmhandler);
    110         queryfilter->set_mgsearchptr (mgsearch);
     112        queryfilter->set_textsearchptr (mgsearch);
    111113        cserver->add_filter (queryfilter);
    112114       
     
    114116        mggdbmsourceclass *mggdbmsource = new mggdbmsourceclass ();
    115117        mggdbmsource->set_gdbmptr (gdbmhandler);
    116         mggdbmsource->set_mgsearchptr (mgsearch);
     118        mggdbmsource->set_textsearchptr (mgsearch);
    117119        cserver->add_source (mggdbmsource);
    118120
     
    124126        mgppqueryfilterclass *queryfilter = new mgppqueryfilterclass();
    125127        queryfilter->set_gdbmptr (gdbmhandler);
    126         queryfilter->set_mgsearchptr (mgppsearch);
     128        queryfilter->set_textsearchptr (mgppsearch);
    127129        cserver->add_filter (queryfilter);
    128130       
     
    130132        mggdbmsourceclass *mggdbmsource = new mggdbmsourceclass ();
    131133        mggdbmsource->set_gdbmptr (gdbmhandler);
    132         mggdbmsource->set_mgsearchptr (mgppsearch);
     134        mggdbmsource->set_textsearchptr (mgppsearch);
    133135        cserver->add_source (mggdbmsource);   
     136      } else if (buildtype == "lucene") {
     137        lucenesearch = new lucenesearchclass();
     138       
     139        // add a query filter
     140        lucenequeryfilterclass *queryfilter = new lucenequeryfilterclass();
     141        queryfilter->set_gdbmptr (gdbmhandler);
     142        queryfilter->set_textsearchptr (lucenesearch);
     143        cserver->add_filter (queryfilter);
     144       
     145        // add a lucene and gdbm source
     146        lucenegdbmsourceclass *lucenegdbmsource = new lucenegdbmsourceclass ();
     147        lucenegdbmsource->set_gdbmptr (gdbmhandler);
     148        lucenegdbmsource->set_textsearchptr (lucenesearch);
     149        cserver->add_source (lucenegdbmsource);   
    134150      }
    135151     
     
    234250  }
    235251     
    236   // read config file to see if built with mg or mgpp
     252  // read config file to see if built with mg, mgpp, or lucene
    237253  // -- we can rely on the collection (and therefore the build.cfg)
    238254  // being here since this is the null protocol - a nicer way to
     
    280296    mgqueryfilterclass *queryfilter = new mgqueryfilterclass();
    281297    queryfilter->set_gdbmptr (gdbmhandler);
    282     queryfilter->set_mgsearchptr (mgsearch);
     298    queryfilter->set_textsearchptr (mgsearch);
    283299    cserver->add_filter (queryfilter);
    284300   
     
    286302    mggdbmsourceclass *mggdbmsource = new mggdbmsourceclass ();
    287303    mggdbmsource->set_gdbmptr (gdbmhandler);
    288     mggdbmsource->set_mgsearchptr (mgsearch);
     304    mggdbmsource->set_textsearchptr (mgsearch);
    289305    cserver->add_source (mggdbmsource);
    290306
     
    296312    mgppqueryfilterclass *queryfilter = new mgppqueryfilterclass();
    297313    queryfilter->set_gdbmptr (gdbmhandler);
    298     queryfilter->set_mgsearchptr (mgppsearch);
     314    queryfilter->set_textsearchptr (mgppsearch);
    299315    cserver->add_filter (queryfilter);
    300316     
     
    302318    mggdbmsourceclass *mggdbmsource = new mggdbmsourceclass ();
    303319    mggdbmsource->set_gdbmptr (gdbmhandler);
    304     mggdbmsource->set_mgsearchptr (mgppsearch);
     320    mggdbmsource->set_textsearchptr (mgppsearch);
    305321    cserver->add_source (mggdbmsource);
     322
     323  } else if (buildtype == "lucene") {
     324     
     325    lucenesearch = new lucenesearchclass();
     326
     327    // add a query filter
     328    lucenequeryfilterclass *queryfilter = new lucenequeryfilterclass();
     329    queryfilter->set_gdbmptr (gdbmhandler);
     330    queryfilter->set_textsearchptr (lucenesearch);
     331    cserver->add_filter (queryfilter);
     332     
     333    // add a lucene and gdbm source
     334    lucenegdbmsourceclass *lucenegdbmsource = new lucenegdbmsourceclass ();
     335    lucenegdbmsource->set_gdbmptr (gdbmhandler);
     336    lucenegdbmsource->set_textsearchptr (lucenesearch);
     337    cserver->add_source (lucenegdbmsource);
    306338   
    307339  }
     
    332364
    333365  // first unload any cached mg databases - we may need to do something
    334   // similar to this for mgpp too
     366  // similar to this for mgpp and lucene too
    335367  if (mgsearch != NULL) {
    336368    mgsearch->unload_database();
Note: See TracChangeset for help on using the changeset viewer.