[sword-devel] fast searching support

Troy A. Griffitts sword-devel@crosswire.org
Mon, 14 Aug 2000 18:17:17 -0700


OK,
	fixed a few bugs.  Any early testers should update their CVS tree and
make clean; make

		-Troy.



"Troy A. Griffitts" wrote:
> 
> OK Joachim ;)
> 
>         I've added some basic search framework support and have optimized a few
> search scenerios for the RawText driver (case insensitive, multiword
> searches with a scope designated by a VerseKey).  You'll need the latest
> CVS source to try it out.
> 
> There is a utility: sword/utilities/mkfastmod that will create the
> search framework for a module if it is supported for the module type.
> 
> ***     THIS IS A REFERENCE IMPLEMENTATION.  There are others much more
> capable than myself (Trevor! :) ) that could do a much better job.  This
> example should make the sword aspects of the job less mystic.
> 
> New/Augmented framework methods:
> 
> virtual ListKey &SWModule::Search(const char *istr, int searchType = 0,
> int flags = 0, SWKey *scope = 0, bool *justCheckIfSupported = 0);
> 
>         justCheckIfSupported was added to allow one to see if THIS search
> routine will perform the search.  This is not a check to see if the
> search is ultimately supported (maybe by the base class).
> 
> virtual char SWModule::createSearchFramework();
> 
>         This will ask the module to build (or rebuild) any special search
> framework that it supports.
> 
> virtual bool SWModule::hasSearchFramework();
> 
>         This allows one to check if the module driver supports a search
> framework.
> 
> virtual bool SWModule::isSearchOptimallySupported(const char *istr, int
> searchType, int flags, SWKey *scope);
> 
>         This allows one to check if the search will be handled in the most
> optimized way (ie. if there is a search framework and it does not handle
> this case, this will be false)
> 
>         Let me know if it works! :)  It compiles :)  j/k  Also, if there are
> any questions by anyone wishing to build a real search framework, please
> ask!
> 
>         -Troy.
> 
> Joachim Ansorg wrote:
> >
> > Hi!
> >
> > My first article in this group!
> >
> > A really slow thing of SWORD is the searching part! In comparision with
> > other programs it takes too long.
> >
> > Perhaps you noticed some months ago that Trevor Jenkins offered his help on
> > this topic.
> > But nothing happened.
> >
> > My question is: How do we get a more fast searching algorithm?
> >
> > -- Joachim