新規投稿
フォローする

like演算子でマッチするはずの項目がマッチしない

kintone REST APIでレコードの一括取得をしようと思っています。
queryに以下の指定をしましたが、レコードが1つもヒットしません。
文字列_1行 like "あ"

しかし、以下の指定をすると1件のレコードがヒットします。
文字列_1行 like "あい"
(結果のJSONの一部抜粋は {'type': 'SINGLE_LINE_TEXT', 'value': 'あいうえおか'} となりました)

これら2つの検索結果の違いは何が原因なのでしょうか。
likeでの検索は実はインデックス検索になっているけれども、「あ」はインデックスとして登録されていない、というような原因でしょうか。

likeの挙動が仕様だとすると、likeを使って正確な検索はできないということになるかと思いますが、
特定のフィールドに対し、指定する文字列が含まれるか否かを正確に調べることはできますか?

1

2件のコメント

Avatar
Yasutaka Shinomiya

日本語検索の場合は、2文字以上でないとヒットしないのが仕様となっています。

また、英数字の場合は単語単位になるなど検索時には気をつけないといけない注意点があるので私が以前に書いたブログやヘルプを参考になさってください。

http://kintoneblog.joyzo.jp/304

https://help.cybozu.com/ja/k/user/search_details.html

1
Avatar
Kota Uchida

Shinomiya様、ご回答ありがとうございます。
頂いた情報を元に追加調査した結果、問題が解決いたしました。

一番の原因は、試用環境に初めから用意されているレコードは検索ができない、ということでした。

例えば「案件管理」アプリはサンプルデータがはじめから含まれますが、それらに対してlike演算子がマッチしないようです。
自分で追加したレコードはマッチします。
サンプルデータのレコードに対して編集&保存するとlike演算子がマッチするようになるようです。

0
ログインしてコメントを残してください。