2つのインデックスからクエリを実行して、最近更新されたレコードを取得する
トピック作成者:ks-solruserml-bot (2024/07/19 21:42 投稿)
1
(The bot translated the original post https://lists.apache.org/thread/r46y9p95lpgmzwbs23l7z9xgpsk2vgzl into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)
こんにちは、
あるユースケースのために、ユーザーにデータを即座に見せる必要があります。
そこで、次のような構成にしました。
- メインのディスクベースのインデックス(
memberdetailsindex
)を持ち、コミット時間は5分(オートコミット)。このインデックスには約3億件のレコードが含まれています。 - RAMベースのインデックス(
memberdetailsindex-ram
)を持ち、ソフトコミット時間は10秒。このインデックスには最近追加または更新されたレコードが含まれます。
両方のインデックス(memberdetailsindex
、memberdetailsindex-ram
)は同様のスキーマを持っています。
挿入/更新は両方のインデックスに対して行われます。
両方のインデックスからデータを取得するために、エイリアス(memberdetailsindex_alias
)を作成しました。
/admin/collections?action=CREATEALIAS&name=memberdetailsindex&collections=memberdetailsindex,memberdetailsindex-ram
私たちの仮定では、SOLRは最近更新されたレコードをRAMベースのインデックスから取得するはずです(レコードがRAMとディスクの両方に存在する場合)。しかし、一部のリクエストでは、古いレコードがmemberdetailsindex
から取得されます。
SOLRに対して、レコードが両方に存在する場合に最新のレコードのみを返すようにするにはどうすればよいでしょうか?
その他の提案も歓迎します。
ありがとうございます。
Doss
トピックへ返信するには、ログインが必要です。