インデクシングが遅く、リソースが集中しているため、私はSolrを12時間以内に再インデックスするように設定しました。新しいレコードがインデックスに追加される前に追加されると、それは検索できません。そうですか?インデックスが作成されていなくても、Solr/Sunspotに検索クエリに新しいレコードが含まれていますか?
「はい」の場合は、他の検索システムに変更する必要がありますか?
インデクシングが遅く、リソースが集中しているため、私はSolrを12時間以内に再インデックスするように設定しました。新しいレコードがインデックスに追加される前に追加されると、それは検索できません。そうですか?インデックスが作成されていなくても、Solr/Sunspotに検索クエリに新しいレコードが含まれていますか?
「はい」の場合は、他の検索システムに変更する必要がありますか?
ドキュメントは、コミット後の検索にのみ使用できます。彼らは解析され、Solrに提出されるとすぐに内部形式に変換されます。インデックス作成です
あなたの質問は純粋なSolrシステムではあまり意味がありません。あなたはRDBMSを持っていて、それを再インデックス化していますか?そうであれば、Solrはデータベースからレコードがフェッチされ、索引付けされ、コミットされたときにのみ更新されます。
遅延が短い場合は、いくつかのオプションがあります。各レコードにタイムスタンプがある場合は、変更されたレコードのみを定期的に再インデックスすることができます。彼らは古いバージョンのレコードを置き換えます。これを行う場合は、削除されたレコードを特別に処理する必要があります。通常、「削除済み」列を追加し、そのレコードに対してSolr deleteコマンドを発行します。
データ入力ハンドラはデルタクエリをサポートしていますが、少し複雑です。また、データベースを読み込み、専用のSolr XML形式で定期的なSolrの更新を送信するコードを書くこともできます。
頻繁に更新すると、検索のパフォーマンスが低下する可能性があります。 Solrはキャッシュ結果から多くのパフォーマンスを得ます。これらのキャッシュは、コミット後にクリアされます。統計結果ページで、クエリ結果キャッシュのキャッシュヒット率を確認します。これが高い場合は、頻繁な更新がパフォーマンス上の問題を引き起こす可能性があります。
"する必要がありますか?"私たちがそれにどのように答えられるかは不明です。私は、レコードが追加されたときに索引付けされたと思った - あなたはそうではないと確信していますか? –
@DaveNewton通常はupdate/createのインデックスですが、調整することができます。ビクター:はい、それがインデックスにない場合は、インデックスを使用して見つけることはできません。 –
確認のためにみんなありがとう。 – Victor