[sword-devel] Comming soon: new improved sword searching

sword-devel@crosswire.org sword-devel@crosswire.org
Mon, 09 Sep 2002 20:12:55 +0600


Bible is 31102 (if I counted correctly) verses. It is ~3.8Kbytes if a bit for 
every verse.

Searching for "Christ & (God | Father)" we can construct 3 such bit vectors 
(~10.6Kbytes) and then make logical operations over these.

Such the way we can implement reasonably fast searching in paragraphs instead 
of verses using indexes because with logical/shift operators with bit vectors 
these can be transformed in the necessary way. (We should transform bit 
vectors of verses to the corresponding bit vectors of paragraphs (oring the 
verses in one paragraph) before doing the operations.)

I can (as will have time) even write necessary algorithms. If it will be too 
slow for 80386, I can remember its assembler!

Moreover for often encountered words (like "the") we can even use an alternate 
index file format with bit vectors.

P.S. On a Z80 3.5 Mhz ZX Spectrum I calculated 256x192 field for the well 
known life-game (we create a World with certain "physics" and like God see its 
development and can do "wonders") in 1.5 sec (independingly of input data). If 
wanting I could be able to make it even faster.
-- 
Victor Porton (porton@ex-code.com)