[sword-devel] Fast search

Jerry Hastings sword-devel@crosswire.org
Wed, 27 Sep 2000 15:37:31 -0700

At 03:06 PM 9/17/2000 +0200, Nathan wrote:
>Good day Troy and others

Good day Nathan.

>Question 2:
>we realize
>that these users of the program do not know what a regular
>expression is. They just want to type some words, and get
>results (preferably fast). They might know something about
>AND and OR and NOT and wildcards, and use these.

I agree that the term "regular expression" is confusing. Even AND, OR and 
NOT can be confusing to some users. Many people say "and" when they mean 
OR. For these kind of users, I like lots of text boxes separated by list 
boxes. Some thing like: FIND OCCURRENCES OF THE FOLLOWING { 
word/words/phrase/string/strings/RE/boolean} [text box] {or/but not 
with/that are with} OCCURRENCES OF THE FOLLOWING { 
word/words/phrase/string/strings/RE/boolean} [text box]

>Question 3:
>So, what is expected from the fast search?
>Do we want to keep the regular expressions (as Martin also
>asked on 7th Sept), or do we build it into the fast search?
>Must the index be small?
>Must the fast search be the main search, or is it just an
>extra add-on?

I think the only thing the fast search routine needs to do is find 
occurrences of a word. Complex searches would be done by making multiple 
calls to the fast search routine, one call for each word needed to complete 
the complex search. The complex search routine  would AND/OR/NOT this 
information. An upgrade to this would be to send a list of words separated 
by symbols to the routine. Something like "here&there|anywhere".
Very complex searches could be built from multiple calls of that type.

>Question 4:
>Depending on the answer to 3,
>If the new fast search does everything, and we do not need
>regular expressions, do we keep the text of the modules
>as text, or do we compress it for space and speed reasons?
>This could have some wider effects so you will have to be
>careful on this one :)

Troy has provided a way for users to correct texts and for those edits to 
be collected and sent in. I am sure there is a way to do that with 
compressed texts, but it would have to be redone.