2012-04-07 13 views
0

私は実際の検索エンジンの仕様を構築しようとしています 約500 000リスト 潜在的に50 000リストの日々の更新 データはきれいな(ish)CSVの - 文字を削除する必要があります。 データの50以上のフィールド(30画像、様々なプロパティの仕様など)CMSのような個々の文書をsolrで処理できますか?

Drupal7とJoomlaで多くの問題を抱えているImは対応できません。それはちょうどデータのインポートです。

私はsolrにデータをインデックスし、検索エンジンとして機能させたいと考えています。いくつかの質問を聞きたいんです。

  1. solrはインデックスから直接リスティングを提供できますか? (そのような場合は、MysqlやCMSなどのデータストアが必要です)
  2. 単純な単一テーブルのmysql DBにデータを入れて、それを使ってインデックス用のソルバーに文書をプッシュし、 DBまたはSolrインデックスから取得します。

データの問題から、D7/Joomla /その他のCMSの内部動作を把握し、いくつかの単純なPHPファイルを正面に置くだけで、終わり。

このプロジェクトでは基本的なdrupalテンプレートを使用していました。

私はスピードと信頼性と優れた検索結果が必要です。

答えて

2

IMHO SOLRをあなたの目的にのみ使用することが可能です。 1台のサーバーであってもSOLRでは50000リストの数はそれほど多くありませんが、私が示唆する約10時間あたりの更新数は50000です。 1時間に約50000件の更新があります。これは1時間あたりの完全な再インデックスに相当します。

私たちはSOLRを私たちの企業にも使用し、約40-120フィールドのものを使用しています。 40000アイテムは完全にインデックスを作成するのに約5分かかる。キャッシュを自動ワームするには、それに数分を追加する必要があります。

私の知る限り、あなたの問題は小さな更新期間になります。 1時間に1回、すべての50000リストの代わりに個々の文書を更新する場合は、ソルバーはキャッシュを使用できません。そうしないと、複数のソルバーサーバーを使用する必要があります。 (おそらくsolr 4.0では、あなたのsolrサーバーハードウェアを拡張することも考えられるかもしれませんが、3.xはそれには何のメリットもありません) キャッシュを使用しないと、検索パフォーマンスは低下する可能性があります。

SOLRはdynamic fieldsの機能を提供するので、ドキュメントごとに異なる構造を追加できます。これは、さまざまなプロパティの要件に一致する必要があります。

+0

申し訳ありません私は元のQを書いたような急いで私はそれを読んでそれが意味を成しているかどうかを確認しませんでした。書き留めてくれてありがとう。私は時間当たりではなく、1日あたり約50,000の更新が必要です。私はちょうど更新を実行するか、1日に1回新しいフィールドを追加します。可能な限り早く願っています。スタンドアロンのデファクトとしてsolrを実行するように思えますが、CMS/DBはその方法です。 –

+0

@dan tあなたが毎日の更新期間だけを持っているなら、あなたはその数のドキュメントに何の問題もないはずです。かなり簡単な仕事でなければならない! – Omnaest

+0

@dantリアルタイム更新を行わないようにしてください。 1つの文書が変更されるとすぐにコミットしない。 10分または15分ごとにコミットし、深夜にインデックスを最適化してください。リアルタイムアップデートが必要な場合は、[弾性検索](http://engineering.socialcast.com/2011/05/realtime-search-solr-vs-elasticsearch/)をご覧ください。 –

関連する問題