同じ手順を実行して、単一のmySql全文検索よりも100〜1000倍高速なsolrとmysqlを組み合わせました。
したがって、ワークフロー/手順は一般的に問題ではありません。問題は、ボトルネックはどこにあるかということです。これを調査するには、カタリナを調べて、各solrリクエストのクエリ時間を確認する必要があります。MySQLでも同じです-クエリ時間/長時間実行されるクエリを見てください。
where in ()
返されるPKの数が非常に多いため、パフォーマンスの問題が発生しました->非常に長い句のため、mySQLクエリが非常に大きくなりました。
そこに非常に大きなMySQLステートメントが続き、多くの行が200-1.000.000+を返しました
しかし、重要なのは、アプリケーション/ユーザーが一度にそのような大きな日付を必要としないということです。そこで、ページ付けとオフセット(solr側)を使用することにしました。Solrは、30〜50の結果のみを返すようになりました(ユーザーのアプリケーション環境のページネーション設定によって異なります)。
これは非常に高速に動作します。
//編集:http経由のCSV以外にsolr検索結果を取得する他の方法はありますか?
XML、PHP、CSV、Python、Ruby、JSONなどのさまざまな形式があります。これを変更するには、次のwt
ようなパラメータを使用できます....&wt=json
http://wiki.apache.org/solr/CoreQueryParameters#wt
http://wiki.apache.org/solr/QueryResponseWriter
//編集#2
追加の方法は、データをsolrにインデックス付けするだけではありません。solrからデータをフェッチし、MySQLデータなしで生きるために、データをsolrに(追加で)保存することができます。それがあなたのための方法であるならば、それはあなたのデータに依存します...