私は、InnoDBテーブルは全文検索をまだサポートしていないことを知っています。だから、私はsolr、xapian、whooshのようなサードパーティの検索エンジンを使うことを考えました。これらのサードパーティのツールは、MyIsamテーブルで動作するInnoDBテーブルと同等に機能しますか?私は見つける必要があります。スペルの候補と同様の文字列...サードパーティの検索エンジン(全文検索など)はInnoDBテーブルで正常に動作しますか?
答えて
Solr/Luceneを使用して、DBデータの全文検索を行うことができます。私のMySQL DBは高速全文検索のために大きくなるので、私はmysqlとSolr/luceneを組み合わせることに決めました。
Solr/LuceneはMySQLプラグインではありません。したがって、一般的なMySQL SQLステートメントを使用してフルテキストインデックスを検索することはできません。アプリケーションによって開始された全文検索は、関連文書の主キーを返すサードパーティフルテキストインデックス(Solr)に最初に要求を送信する必要があります。 2番目のステップは、MySQLのinnoDBに対して、Solr結果セットの対応する主キーを持つwhere句を使用してSQL文を実行することです。 このソリューションは、私のケースでは、一般的なMySQL Myisamの全文検索よりもはるかに高速で(しかも優れています)機能します。
代わりに、solrのデータのインデックスを作成するだけでなく、また、solrにデータを追加保存することもできます。その場合、solrはフルテキストを返すことができます。上記の例のように、データベースからデータを取得する必要はありません。
これらのサードパーティツールは、MyIsamテーブルで動作するので、InnoDBテーブルと同等に機能しますか?
絶対に。 SolrにはDataImportHandlerがあります。あなたは、次のように、solrでインデックスを作成したいデータを取得するためにSQL文を定義します。select * from MyTable;
ただし、現在(私が知る限り)therは利用可能なMySQL solrプラグインではありません。 SolrとMySQLの協力はアプリケーションによって処理されるべきです。
Sphinx
は、独自のインデックスをサポートしており、クエリを発行することによって適時にMySQL
からデータを取得します。
基本的なテーブル構造についても認識されていません。クエリが実行され、結果が返される限り、Sphinx
では問題ありません。
他のサードパーティのエンジンも同じように動作します。
通常、サードパーティのフルテキスト検索エンジンは、MySQLクエリによって返されたデータをコピーし、それを使用して検索インデックスを設定します。この点に関して、MyISAMとInnoDBのデータソースには違いはありません。
私は数年前にプレゼンテーションをPractical Full-Text Search in MySQLとしました。興味深いかもしれません。
- 1. Pythonの全文検索エンジン
- 2. 検索エンジンで自動的に検索
- 3. 本文MySqlテーブル(Innodb vs ISAM)で検索
- 4. 全文検索2テーブル
- 5. 検索エンジンのようなjava文字列検索の構文
- 6. MySQLの検索 - 全文検索のためのMyISAM対のInnoDBとの取引
- 7. 正規表現検索エンジン
- 8. Windowsの検索 - Cの全文検索#
- 9. Magento検索フォームが正常に動作しない
- 10. 全文検索 - 検索語オーダー
- 11. 正規表現検索をサポートする検索エンジンはありますか?
- 12. 検索エンジンLuceneとデータベースの検索
- 13. blog_websiteの検索エンジン(リンク内検索)
- 14. Lucene.net検索エンジン
- 15. Mysql検索エンジン
- 16. オープンソースクラウド検索エンジン
- 17. Filghts検索エンジン
- 18. 検索エンジンを作成するには?
- 19. 異なるテーブルに検索エンジンを作成する
- 20. postgres全文検索
- 21. が....全文検索
- 22. 全文検索ランキング
- 23. Sails.jsでの全文検索
- 24. API検索アプリケーションを作成するオープンソースのJava検索エンジン
- 25. mySQL全文検索復帰テーブル名
- 26. ズーム検索エンジンのような検索エンジンですが、Linux/UNIXの場合
- 27. 検索エンジンが私のページャーで動作しません
- 28. 検索エンジンのソースコード
- 29. 検索エンジンのリダイレクト
- 30. ウェブサイトの検索エンジン
FlexCDCのようなツールを使ってMySQLとSolrを同期させるとどう思いますか? –
@NeilMcGuiganで動作する可能性がありますが、FlexCDCにはスループットの制限があります。書き込み速度が非常に速い場合、追いつくことができない可能性があります。 Justin(私がPerconaで働いている人)には、FlexCDCのパフォーマンスを改善するためのアイデアがありますが、いつリリースするのか分かりません。 –