本題の前に、この度サイボウズさんよりkintoneのエバンジェリストとして指名いただき、cybozu.com developer networkを中心に活動をさせていただくことになりました。
本ブログでも引き続きkintoneに関する情報を発信していきますが、developer netowrk のほうもよろしくお願いします!
さて本題。。
kintoneには別アプリからキーワードを入力してデータを取得するルックアップや任意の文字を入力してレコードを検索する機能があります。
例えば、ルックアップでは顧客マスタから顧客名のキーワードを入力し、顧客担当者を取得するといった事が可能になります。
キーワードを入力して、欲しいデータを取得するというのがまさにDBとしての使い方ですが、この時に入力する文字がkintoneではちょっと癖があります。
日本語は1文字検索ができない
実は、日本語で検索する場合と英数字で検索する場合でルールがあり、「ちゃんとあるはずのキーワードを入力したのにデータが検索されない!!」といった事が発生します。
まず日本語での検索ですが、
2文字以上の文字に対して1文字だけで検索することができません。
どういうことかというと、例えば「四宮株式会社」というデータに対して「四」とか「宮」だけを入力してルックアップや検索をしても「四宮株式会社」は検索されないのです。
この場合は、「四宮」や「株式」と入力して初めて検索されます。
私も最初、どうして検索されないのかがわからず3分悩みました。
英数字は単語単位での検索になる
続いて英数字です。
英数字は
単語単位での検索しかできません
「単語単位」って?と思うかと思いますが、kintoneが勝手に単語を解析してくれるかというとそういうわけではなく、以下の記号で区切られた文字が単語として認識されます。
- スペース
- +(プラス) _(アンダーバー) #(シャープ)以外の半角記号
- 全角文字
つまり「joyzo kintone」や「joyzo-kintone」と登録されているデータに対しては「joyzo」や「kintone」で検索できますが、「joyzokintone」と入力されている場合は、「joyzo」でも[kintone」でも検索はされません。
商品マスタで商品コードを検索キーにして商品名や単価を取得するという場合に商品コードが「JY0001」などと入力されているとすべての文字を入力しなければいけず、とても不便です。
ここはkintoneの改善を期待したいところですが、それまでは検索用のフィールドを商品マスタに用意し「JY-001」などと区切り文字を入力して、そのフィールドを検索キーとして指定するなどの対応が必要です。
検索文字の注意事項は公式ヘルプにも書かれていますが、なかなかここまでチェックされることも少ないと思いますので参考になれば幸いです。