2

整数 (キー)、アンダースコア、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 つの要求を送信したいと考えています。何か不足していますか?何か案は?

4

0 に答える 0