1

solrを使用して空間インデックスとテキストインデックスを実装することを考えています。現在、SolrだけでなくMYSQLデータベースにもエントリがあります。solrが起動すると、MYSQLからすべてのデータが読み取られます。新しいエントリが入ると、私のWebサーバーはそれらをMYSQLに書き込み、同時にsolrにドキュメントを追加します。ますます、私のMYSQL実装は書き込み専用の永続ストア(多かれ少なかれ、solrのデータのバックアップ)になりつつあるようです-エントリの読み取りはすべて、solrクエリを介して行われます。実際、MYSQLから読み取られるデータはユーザー情報だけであり、インデックスを作成したり検索したりする必要はありません。

いくつかの質問:

  • 本当にMYSQLの実装が必要ですか、それとも単にすべてのデータをsolrに保存できますか?
  • solrのみの場合、このソリューションに関連するリスクは何ですか?

ありがとう!

4

2 に答える 2

3

ほとんどの場合、答えはイエスです。必ずしもデータベースである必要はありませんが、Solrでのデータのインデックス作成方法を変更した場合に備えて、Solrの外部のどこかに元のデータを保持する必要があります。Solrがそうではないほとんどのデータベースとは異なり、Solrはそれ自体のインデックスを単純に再作成することはできません。仮に、元のデータがすべて「保存済み」としてマークされ、CSVダンプにマークされ、その方法でインデックスが再作成されるようにスキーマを構成することもできますが、このアプローチはお勧めしません。

恥知らずなプラグイン:Solrの使用に関する情報については、私の本をお勧めします。

于 2012-04-19T17:16:02.650 に答える
2

別のリポジトリをお勧めします。MySQLは1つの選択肢です。ファイルシステムを使用する人もいます。

多くの場合、検索用と保存用で異なるスキーマが必要になります。これは、別のリポジトリを使用して簡単に行うことができます。

Solrスキーマを変更するときは、コンテンツをリロードする必要があります。Solrからのすべてのコンテンツのアンロードは遅くなる可能性があります。すでに別のリポジトリにある場合は、Solrからダンプする必要はなく、そこにあるものを上書きできます。

一般に、Solrを検索エンジンとリポジトリの両方にすることで、検索を最高のものにするための柔軟性とオプションが実際に低下します。

于 2012-04-19T17:14:54.657 に答える