1

検索可能なブロックにこの行があります

text :title, :stored => true

太陽黒点 solr で本のタイトルを検索しています。しかし、本当に格納されたフィールドを使用する必要がありますか?

:stored => true

ドキュメントに従って

格納されたフィールドを使用すると、基礎となるデータベース (通常は SQL サーバー) にアクセスすることなくデータを取得できます。これらは、強調表示などのクエリにも必要です。

格納されたフィールドは、Solr インデックスでパフォーマンスが低下するため、慎重に使用してください。

しかし、これらの保存されたフィールドをいつ実際に使用する必要があるのか​​ わかりません。検索可能なブロックに非常に多くのフィールドがあるためです。db にヒットしないように、それらをすべて保存する必要がありますか? パフォーマンスコストはどうなりますか?

4

2 に答える 2

1

Sunspot メンテナはこちら。

Sunspot を使用して ActiveRecord オブジェクトをロードしている限り、フィールド値の保存は、強調表示など、それらを必要とする Solr 機能でのみ使用することをお勧めします。

hitsSunspot 検索応答からレンダリングresultsし、. しかし、私が別の場所で述べた理由により、そのように ActiveRecord をバイパスする明確な理由があるはずです。

于 2012-12-13T23:18:17.633 に答える
0

フィールドを Solr 応答として戻したい場合は、通常、表示目的でフィールドを保存済みとしてマークします。
フィールドを検索可能にし、表示しないようにする場合は、インデックスのみを作成します。
とにかく検索を実行しているので、DB にアクセスする代わりに、Solr から保存および取得する方が高速です。
複数のフィールドで Stored を使用するための背景は、Solr が実際の値を格納する必要があるため、インデックスのサイズが大きくなることです。ただし、ドキュメント数がそれほど多くない場合は、気にする必要はありません。

于 2012-12-12T03:56:45.833 に答える