Недавно я тоже изучал полнотекстовые решения. Похоже, что у SQLite де-факто сейчас нет выбора. Независимо от того, что вы выберете, вам неизбежно придется перестроить его по мере развития различных решений FT2, FT3 и т. Д. Так что попробуйте и предположите, что в будущем вам нужно будет больше заниматься разработкой, чтобы идти в ногу с изменением полнотекстовой технологии.
Sphinx Search пока не имеет прямой поддержки SQLite. Сейчас он поддерживает только MySQL и PostgreSQL (около августа 2009 г.). Поэтому вам придется взломать свой собственный коннектор SQLite или перенести данные SQLite в MySQL или PostgreSQL, а затем проиндексировать данные с помощью Sphinx Search. Я думаю, что кто-то работает над патчем Sphinx Search для поддержки Firebird, так что, может быть, это не так сложно, если вы готовы закатать рукава.
Также имейте в виду, что у Sphinx Search есть некоторые ограничения относительно постепенного добавления данных в индекс. Вы должны потратить около часа на чтение документа, прежде чем решите его использовать.
Я не знаю ни одного прямого способа индексации данных SQLite в Lucene. Вам, вероятно, придется написать собственный код для обработки пакетов данных SQLite, добавляя строки в индекс Lucene по одной за раз. Это похоже на использование Lucene независимо от того, какая база данных.
обновление: Solr - отличная технология для Lucene. Solr предоставляет этой поисковой системе множество функций, включая возможность массовой загрузки данных результатов запроса из любого источника данных JDBC.