DotNetFirebird.org DotNetFirebird
Using Firebird SQL in .NET.

Firebird Storage for DotLucene Index

I have created an add-on for DotLucene search engine that allows storing the Lucene index in a Firebird database. You can download the source code here. It is licensed under Apache Software License 2.0 so you can use it freely in your applications. You are only required to put an acknowledgement there (see NOTICE file). It should work with DotLucene 1.3 (tested) and 1.4 (it uses the same interfaces). But remember that the index file format has changed in 1.4.
Performance tips:

  1. Use FSDirectory instead.... No, really, the performance goes down if you store the index in the database (my results are that database is twice slower that filesystem). Use the database storage only when you have no other choice.
  2. Use compound index format (writer.SetUseCompoundFile(true);). This is default in DotLucene 1.4 but in 1.3 you have to do it manually.
  3. Create the index in memory, optimize, then save it on disk using FbDirectory.Copy(); This will only help you if you are rebuilding the whole index from scratch.
  4. If you are adding a document to the index from a desktop application, do it in background (in a separate thread). You are still able to search while you are adding a new document.

Download: DotLuceneFbDirectory 1.0 Source Code

Related