0

著者名を編集するなど、solr にファイルされたドキュメントを編集したいので、solrj で次のコードを使用します。

params.set("literal.author","anaconda")

しかし、スキーマ内の著者 multivalued="true" とそのため、「anaconde」は以前の名前に置き換えられず、著者名の最後に追加されます。また、複数値フィールドを省略したり、false に設定したりすると、不正な要求例外が発生します。新しい作成者フィールドでファイルを再インデックスする際に発生します。どうすればこの問題を解決し、solrj の以前のドキュメント フィールドを削除または変更できますか? または、スキーマで見逃している設定はありますか? ありがとう

4

5 に答える 5

4

私が知っている唯一のオプションは、完全なドキュメント(&fl=*パラメータを使用するすべてのフィールド)をsolrjを使用してローカル構造にクエリし、適切なフィールドを更新して、ドキュメント全体をSolrに送信することです。

于 2011-10-24T01:24:46.787 に答える
2

この投稿は、あなたの質問に対する正しい答えであるはずです (SOLR 4.x を使用している場合)。

于 2013-01-05T07:14:38.263 に答える
2

いいえ、 Solr のドキュメントの特定のフィールドを更新する方法も、そのクライアント API を介して更新する方法もありません。

EDIT :- Solr 4.0 では、特定のフィールドでドキュメントを部分的に更新できます。

于 2011-10-23T16:41:15.880 に答える
1

Solr 4.0 では、ドキュメントの 1 つのフィールドを更新できますが、そのバージョンは ALPHA です。

しかし、更新については、CURLでのみ可能だと思います。solrjでJava側のドキュメントの単一フィールドを更新する方法が見つかりませんでした。

于 2012-08-10T06:32:09.323 に答える