[bt-devel] Fwd: Re: clucene crash when searching
Eeli Kaikkonen
eekaikko at mail.student.oulu.fi
Mon Nov 17 15:36:48 MST 2008
Joachim Ansorg wrote:
> I don't remember exactly why we switched but here's what I think, in random
> order :)
>
>
Thanks! Now we can move ahead in this discussion...
> We always had troubles with the Sword search engines. I don't know how the
> current implementation is, though.
>
>
The Sword development has been quite good recently and I think today we
all want to commit ourselves to the goal of making the library better. I
understand very well why you wanted more independence but I would rather
work together for common goals if possible. If we have problems, we have
to work with the core library developers. We know and they know that
it's not always been the quick and easy way, but it's better nowadays.
Now when even GnomeSword is reaching for Windows we have double the
reason to make the common library rock solid. With that we (all
frontends) can create the best software for all platforms.
> -It's slow. Really slow. Using modules with many tags (like the KJV) the
> search has taken a long time to finish. Especially on non high-end computers
> it takes a long time. More than 5 seconds is not an acceptable response time.
> Often it had been worse, I think. And that's just for seaches in one module at
> a time.
>
That's true, though machines are getting better. But this is not
necessarily a problem for two reasons:
1) We have the quick clucene search. Most users could (and probably
would) use that.
2) I have already implemented threaded behaviour (in installer) and I
think it can be done with the search, too. That way the GUI would not be
blocked by the slow search.
> -No complex searches are possible. and/or/grouped combinations are not easily
> done with the sword engine.
>
Again, we now already have the lucene search which can handle that.
> -We had no control where the index files are stored (using the clucene
> implementation of Sword).
> -clucene was sometimes available in the sword lib, sometimes not. That
> depended on how the user configured and installed his libsword.
>
I'm not for dropping our own clucene support away. It's quite reasonable
to have our own implementation. I wouldn't support the Sword clucene
implementation at all, but (some of) the other engines. We wouldn't
loose anything but gain everything.
> -It's a mess to work with different types of search engines which all have
> different feature sets.
>
>
What kind of work that means? Coding? Or end user experience?
For coding, I would keep the search engine types separate from each
other. That would make the amount of code larger but the implementation
would be clean and easy to work with. Each type could be worked with
separately.
For end users, I wouldn't add complexity to the current interface. We
have very simple solution available: add tabs to the search dialog. That
way there would be only tab widget and tab texts added to the dialog.
Everything else would be hidden until the user wanted to switch the
engine. After switching the tab the new interface would also be as
simple as possible for that search type.
I would probably take the Phrase and Regexp search engines. The Words
engine we have already. But clucene is not good for fixed phrases (all
words in certain order). Also it doesn't support complex wildcards. Even
the Regexp engine alone would make everything possible for those who
really need something else than lucene.
> The problem is that CLucene is almost unmaintained and crashes on certain
> kinds of systems (got reports about crashes on BSD for example). Java Lucene
> is much, much better. We've hoped that CLucene developes like JLucene, but
> sadly that didn't work that way...
>
Ok. That's one more reason to support many engines.
--Eeli Kaikkonen
More information about the bt-devel
mailing list