更新または削除対象のレコードを1つ以上識別するには、EQL式を使用します。
既存のレコードを更新または削除するingestChanges操作には、操作対象のレコード・セットを識別するレコード・セット指定子が必要な場合があります。レコード・セット指定子は、操作のrecordSpecifier要素内のEQL式で評価されます。
EQL式では、1つ以上のレコード属性を使用して、操作によって更新または削除されるレコード・セットを識別します。EQL式で指定されるレコード属性には、レコードの任意の属性(レコードの主キー属性を含む)を使用できます。
ただし、主キー属性はEQL式で必ず使用される必要があるので注意してください。たとえば、red、blueなどの値が指定されたcolorという名前の属性を保持するレコードが(複数)あるとします。この場合は、EQL式を使用して、color=red割当てを保持するすべてのレコードを削除するように指定できます。
EQL式の評価でゼロ件のレコードが識別される可能性もあり、その場合、操作は実行されますが、更新または削除は実際には実行されません。この場合、ingestChangesResponseのnumRecordsAffected要素は、影響を受けるレコードが0 (ゼロ)件であること示します。
EQL構文の詳細は、Oracle Endeca EQLガイドを参照してください。
<recordSpecifier>"partID" = 'P123'</recordSpecifier>ここで、
"partID" ='P123'はstring値に対するEQL式です。
<recordSpecifier>"modelNum" = 45</recordSpecifier>
<recordSpecifier>"Num" > 45</recordSpecifier>
<recordSpecifier>("price" > 19.99) AND ("price" < 49.99)</recordSpecifier>
<recordSpecifier>"tag" IS NOT NULL</recordSpecifier>
<recordSpecifier>SOME i IN NumRevs SATISFIES (i > 45)</recordSpecifier>
EQLでの複数割当て属性の使用の詳細は、『Oracle Endeca Server EQLガイド』を参照してください。
<ns:ingestChanges> <!--Optional:--> <ns:OuterTransactionId>?</ns:OuterTransactionId> <!--Optional:--> <ns:Language>en</ns:Language> <!--Zero or more repetitions:--> <ns:updateRecords> ... </ns:updateRecords> ... </ns:ingestChanges>
デフォルトは、en (英語)言語IDです。