Subject | Re: Fulltext search |
---|---|
Author | John Craig |
Post date | 2005-01-31T21:55:30Z |
> is there any way how to do fulltext indexed search?Hi,
> 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?
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