Subject Re: Fulltext search
Author John Craig
> is there any way how to do fulltext indexed search?
> Fully featured fulltext is not needed, but something a bit smarter
> than LIKE. Is it possible to index words in text blobs for LIKE or
> CONTAINING searching?

Hi,

I'm not thoroughly up on IB/FB, but it apparently has somewhat less
capability than other DBMSs I've used with regard to full-text
indexing. What you might consider doing is hooking into an external
search engine. Have a trigger on the table whose contents you want to
index and have that put the row key into a queue table. Then you could
have a daemon process that reads the queue, gets the data out of the
table and indexes it (with the search machinery presumably stored
externally to the DB--not ideal, of course). Then the search engine
can do the search, but it'll be indirect--however, this is often the
best performance you can get; and it gives you a lot of flexibility.

There are in-the-DB options that you could implement, although you'd
probably need a user-defined function to make it really work well. If
you have interest in this, I can suggest a model you might try
(contact me off the list).

As far as an external engine, you might take a look at Lucene:

http://jakarta.apache.org/lucene/docs/index.html

This particular page from the FAQ section talks about indexing (you'll
have to paste this URL back together):

http://wiki.apache.org/jakarta-lucene/LuceneFAQ#he
ad-9951861c21df18489a5872209655d6f9039b5e2a

Here's another option mentioned on the Apache Jakarta page:

http://www.egothor.org/

If you can't tell, I'm sort of stuck in a Java rut, so if you want
something in another language, I'd try searching for open source
search engines using your favorite web search tool.

HTH!

John