最近フルテキストソリューションも検討しました。 SQLiteには事実上の選択肢がないようです。どのような選択をしても、さまざまなFT2、FT3などのソリューションが成熟するにつれて、再構築する必要があります。だから、弾丸に噛み付いて、今後、フルテキスト技術の変化に追いつくためには、さらなる開発が必要だと考えています。
Sphinx SearchにはSQLiteの直接のサポートはありません。 MySQLとPostgreSQLだけをサポートしています(2009年8月頃)。だから、独自のSQLiteコネクタをハックするか、SQLiteデータをMySQLまたはPostgreSQLに移行し、Sphinx Searchでインデックスを作成する必要があります。私は誰かがFirebirdをサポートするためにSphinx Searchパッチに取り組んでいると思います。あなたの袖を巻き上げようと思えばそれほど難しくないかもしれません。
また、Sphinx Searchにインデックスにデータを徐々に追加するにはいくつかの制限があります。あなたはそれを使用する前に、1時間程度でドキュメントを読んでください。
私は、LuceneでSQLiteデータを直接索引付けする方法についても知らない。おそらく、SQLiteデータのバッチを処理する独自のコードを記述し、Luceneインデックスに行を1つずつ追加する必要があります。これは、データベースが何であっても、Luceneの使用法と思われます。
更新:Solr Luceneのための素晴らしい仲間技術です。 Solrは、任意のJDBCデータソースからクエリ結果データをバルクロードする機能を含む、多くの機能を検索エンジンに提供します。
私はsqlite3 fts3が任意の外部ソリューションより好ましいと思います。移動部品が少なくなります。 fts2からfts3への切り替えは、Sphinxをアップデートの制限や他の外部ソリューションと統合することほど難しくありません。 –
@ Sean:私は同意する - 多少。 Sphinx Searchがもう1つのソフトウェアをインストールする必要がありましたが、fts3はSQLiteに組み込まれています。しかし、fts3はデフォルトビルドに組み込まれていないため、SQLiteを自分で再コンパイルする必要があります。また、fts3は*仮想テーブル*タイプなので、ソーステーブルからfts3テーブルにデータを手動でコピーする必要があります。どのようにしても、動く部分があります。 –
FTS3は公式DLLの一部であり、現在はFTS4と同様です。 –