[sword-devel] search function?

Joe Walker joseph.walker at gmail.com
Fri Oct 1 14:33:18 MST 2004


Hi,

Do you store created Lucene indexes anywhere for download?
Over in J-Sword we have switched to Lucene and are discovering that
the indexing process is so slow that we would like to give the users
an option to download their own rather than create one.
I'm making the assumption that CLucene is binary compat. with Java
Lucene (Which given the file format spec. here:
http://jakarta.apache.org/lucene/docs/fileformats.html is perhaps not
unlikely)

Joe.

On Thu, 30 Sep 2004 23:39:09 -0700, Troy A. Griffitts
<scribe at crosswire.org> wrote:
> Kev,
>         One last thing.  Have you tried the Lucene feature that you can enable
> in the build?  It makes many search scenerios return fairly
> instantaneous.  :)
> 
>         -Troy.
> 
> 
> 
> 
> Troy A. Griffitts wrote:
> 
> > Kev,
> >     Sure!  We'd always love the help.  Briefly, (this assumes you
> > understand the SWModule/SWKey construct in the API) a key has the
> > concept of a numeric index().  Basically, the current modus opperandi in
> > SWModule::search is to set the module to the end, check the module's
> > key->index() and use that as the high value.  Then, set the module to
> > the beginning and start the search.  After performing the search for an
> > individual entry, the key->index() is checked to see where we're at, do
> > the math, and report the %.
> >
> >     A different way to do this would be to add an
> > SWModule::entryCount(), use that as the high count, and merely have an
> > int pos that we pos++ while iterating during the search.
> >
> >     You'd need to try to provide a basic impl in SWModule::entryCount
> > and possibly override with a better method for Bibles in
> > SWText::entryCount or SWLexDict::entryCount for Bibles, or maybe even
> > make it pure virtual and force the drivers to supply the information.
> >
> >     The danger to consider is that we are adding the requirement for an
> > SWModule to be able to calculate the number of entries total in it's
> > range.  This is not the case for many types of keys, e.g. keys for
> > lexicons.
> >
> >
> > Keys cannot always do this for the module.  A VerseKey for a
> > canonization probably can do this, so Bibles can likely rely on their
> > key to report this to them (so your search range in VerseKey could
> > adjust).  But, for a lexicon it's different.  A lexicon knows how many
> > entries it has in it (probably), but the key is merely a StrKey.  It is
> > not SWKey::isTraversible().  The Lexicon is traversable, but the key,
> > all by itself, is not traversible.  To try to be clear:
> >
> > VerseKey::isTraversible() == true
> > because it means something to say "John 3:16"++ OUTSIDE of any given Bible.
> >
> > StrKey::isTraversible() == false
> > because is does NOT mean something to say "Jerusalem"++ OUTSIDE of any
> > given module.
> >
> >
> > Sorry, most of this is just random information.  I'd be happy to discuss
> > or look at any solution you might submit.
> >
> >     -Troy.
> >
> >
> >
> > Kevin Field wrote:
> >
> >> Hi Troy,
> >>
> >> Ah, that makes sense, as we've always been passing a scope.  I guess
> >> the best thing to do would be to not provide a scope if the scope is
> >> just going to be the whole Bible anyway.  Better yet, could I help get
> >> that into the Sword library itself?  From there I could go to getting
> >> it working if it's a single range, and then multiple ranges wouldn't
> >> be too much harder.
> >>
> >> Thanks,
> >>
> >> Kev
> >>
> >>
> >>> Kev,
> >>>     The status callback mechanism does good in many scenerios, and
> >>> not so good in others.  We hope to improve it.  A case where I
> >>> remember it acting as you have posted is when one provides a search
> >>> 'scope'.  We haven't added the logic to try to figure out the
> >>> complete domain of the search scope (e.g.
> >>> "gen-deut;1jn;rev1:1-5:19").  So we don't really have the data to
> >>> report a %.  It's not that it can't be done, but just hasn't been
> >>> done yet.  Hope this helps.
> >>>
> >>>     -Troy.
> >>
> >>
> >>
> >> _______________________________________________
> >> sword-devel mailing list
> >> sword-devel at crosswire.org
> >> http://www.crosswire.org/mailman/listinfo/sword-devel
> >
> > _______________________________________________
> > sword-devel mailing list
> > sword-devel at crosswire.org
> > http://www.crosswire.org/mailman/listinfo/sword-devel
> 
> 
> _______________________________________________
> sword-devel mailing list
> sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
>


More information about the sword-devel mailing list