MySQLデータベースを使用しており、データベース駆動型検索を使用しています。データベースエンジンとLucene検索エンジンの利点と欠点はありますか?それらをいつ、どこで使用するかについての提案を希望しますか?
全文検索エンジンvs DBMS をお勧めします。ワンライナーは次のようになります。ユースケースの大部分が全文検索の場合は、Luceneを使用します。ユースケースの大部分が結合やその他のリレーショナル操作である場合は、データベースを使用してください。より複雑なユースケースでは、ハイブリッドソリューションを使用できます。
テキストDocuments(任意の長さ)にインデックスを付け、Textこれらのドキュメント内で、検索クエリに一致したドキュメントのランク付きリストを返します。 古典的な例は、Luceneなどのテキストインデクサーを使用してWebページのコンテンツにインデックスを付けてクエリを実行するGoogleなどの検索エンジンです。
MysqlのようなデータベースよりもLuceneを使用した場合のテキストのインデックス作成と検索には、次の利点があります。
たくさんの Luceneに関する有用な情報はこちら 。
SQL Serverを使用して、フルテキスト検索を使用するクエリをいくつか作成しました。大量のデータが存在する場合、SQLはFullText検索で返された結果セットと残りのクエリを内部結合します。これは、データベースが低電力のマシンで実行されている場合は遅くなる可能性があります(20 GBのデータに対して2 GBのRAM)。同じクエリをLuceneに切り替えると、速度が大幅に向上しました。
Lucene検索には、索引付けの利点があります。 これ 投稿はルセンの理解に役立ちます。