特定のフィールドの値を持つすべての行を1つのコアで更新する

トピック作成者:ks-solruserml-bot (2024/07/19 21:57 投稿)
2
CloseClose

(The bot translated the original post https://lists.apache.org/thread/xms002zwx2twd1m68yz703r5fy12qw53 into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは、

Solrコアで特定のフィールドの1行を以下のように更新できることは知っています。

curl http://host:port/solr/core_1/update?commit=true --data-binary $'[{"id" : "1", "field1" : {"set":"test1"} }]'

Solrコア内のすべての行を1つの値で特定のフィールドを更新したいと考えています。例えば、このcore_1に100万行があり、そのすべてのドキュメントのfield1をtest1に更新したいです。これを行う最良の方法は何ですか?

ありがとうございます。

Shushuai

返信投稿者:ks-solruserml-bot (2024/07/19 21:58 投稿)

こんにちは、Shushuai。

あなたが求めている「カラム更新」ハンドラーはありません。ドキュメントごとの更新を送信する必要がありますが、複数の更新コマンドを一度に送信することで、それらをまとめることには多くの意味があります。

--
よろしくお願いします、
Mikhail Khludnev

返信投稿者:ks-solruserml-bot (2024/07/19 21:58 投稿)

こんにちは、Shushuaiさん。

Mikhailさんが言った通り、個々の更新リクエストを送信するよりも、更新をまとめて送信する方がはるかに速くなります。設定する実際の値の大きさ(あるいは小ささ)によっては、1つのリクエストに数百または数千の更新を送信できるかもしれません。

Solrから更新するために100万件のドキュメントをクエリする場合、リファレンスガイドのカーソルについても見てみてください。

https://solr.apache.org/guide/solr/latest/query-guide/pagination-of-results.html#fetching-a-large-number-of-sorted-results-cursors

Thomas

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?