[sword-devel] Searching and Lucene thoughts

Stephen Denne spdlist at ihug.co.nz
Thu Mar 3 12:54:58 MST 2005

DM Smith wrote:
> Will Thimbleby wrote:
> > How do you use your BitSet? I like it at the moment where I don't
> > access the document information at all until it is displayed. This
> > means I can do live-searching (as the user types) for even large
> > searches like "and".
> >
> The verse reference is "stored" as "key" along with "indexing" the verse
> as "content".
> When the verse reference is gotten out of the hit, it is converted into
> a verse index. This is then stored in the BitSet.
> When we get it out we convert it back into a friendly version of the
> verse reference.

This is how Datacute Concordance (for PalmOS) works.
It stores either a list of references, or a compressed bitset for each word.
When reading a word's index entry, it creates a bitset.
The searched for words' bitsets are combined to give the matching verses.
The first few bits set in the bitset are displayed in the list of results,
decoding to a verse reference at that time. (Scrolling to the end of the
list is posible, and not particularly slow, but users add more words rather
than scrolling forever.)

"Near" searching was tricky.

Stephen Denne.
Datacute - Acute Information Revelation Tools

More information about the sword-devel mailing list