整数 (キー)、アンダースコア、10 進数の値を持つ多値フィールド (custprc) があります。フィールドは次のようになります。
{1234_11.22, 1235_12.00, 1236_11.44}
一意のキー フィールド (id) を使用すると仮定すると、remove コマンドまたは removeregex コマンドをアトミック更新で問題なく使用して、そのフィールドからエントリを削除できます。ただし、id フィールドにワイルドカードを使用するか、id フィールドをまったく使用せずに別のフィールド (catlgcode) を使用して、同様の更新を行うことができるようにしたいと考えています。
次のコマンドは問題なく機能します。
{"id":"20303001123", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}
私はこのようなものをもっと使いたいです:
{"id":"20*", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}
またはこれ:
{"catlgcode":"20", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}
どちらも機能していないようです。SOLR はエラーを返しません。応答コード 0 を受け取りますが、レコードは変更されません。schema.xml で id フィールドを required=false に設定し、文字列から text_general に変更しようとしましたが、これまでうまくいきませんでした。
大規模なデータセットを比較的頻繁に更新しているため、30,000 以上のアトミックな更新ではなく、ワイルドカードを使用して 1 つの要求を送信したいと考えています。何か不足していますか?何か案は?