Firebird doesn't support fulltext search. You need to rely on third party tools. That seems odd, but it doesn't have to be so bad as it looks at first.
I am using DotLucene. It is an open source .NET library (ported from Java) that can index any data (structured or unstructed) that you are able to convert to raw text.
On a server, it is no problem to store the index in a separate directory (you can also load it to RAM to make your searches super fast - if you have enough RAM, of course). In a desktop application, it might be useful to store the index in a Firebird database.
For example: MySQL fulltext search has these drawbacks (compared to DotLucene):
- You can use it only in MyISAM tables (i.e. no transactions)
- You can't browse the index (see Luke)
- You need to store transformed text in the DB (i.e. HTML without tags)
- It doesn't support highlighting of the query words in the result
- You will hardly modify the sources to do custom changes
- The license doesn't allow to use it in commercial application for free
- It is reported to be slow on large data sets