お世話になっております。
どなたか、ご教授願えれば助かります。
2019年より導入されたカーソルAPIを使って、レコードの一括取得を行っています。
>https://developer.cybozu.io/hc/ja/articles/360029152012#step1
このとき、上記リンクのドキュメントには、通常のレコードの一括取得と
同様にクエリ文字列が使用できるとの記載があり、この仕様に基づいて
条件指定で一括取得を試みました。
ところが、演算子が = の場合には条件指定が動作するのですが、like演算子を
使うと、条件に合致するレコードが実在するにもかかわらず、1件も取得が
行われません。同じような状況に遭遇している方はおられないでしょうか?
お知恵を拝借したく存じます。
因みに正しく動作した、 演算子 = を使ったリクエストパラメータは
{ "app": 20,"query":"フィールドA = \"BCD\"","size":400 }
一方、正しく動作しない、演算子 like を使ったリクエストパラメータは、
{ "app": 20,"query":"フィールドA like \"CD\"","size":400 }
です。
フィールドAの値が「BCD」の値を持つレコードの一括取得ができるなら
同フィールドの値に「CD」が含まれるレコードも一括取得できると思うのですが、
いったい何が悪いのでしょうか?
よろしくお願い致します。
2件のコメント
こちら の「検索キーワードに関する注意」から行けるヘルプページ に記載がありますが、連続したアルファベットまたは数字を検索する場合、単語単位の検索となります(APIに限らずレコード一覧画面の絞り込みでも同様に動作するので、そちらで試してみると良いかと思います)。
「あいう」に対して「like "あい"」や「A-B-C」に対して「like "A-B"」は検索できるかと思いますので、フィールドの形式を変える等で対策されると良いでしょう。
mls-hashimotoさん、
なるほど!
よく理解できました。ありがとうございます。大変助かりました。
早速試してみます。