はじめに
2024年6月8日に開催されたkintone Café 高知 Vol.20のLTで発表した「改めて学ぶ kintoneの検索」のまとめです。
kintoneの検索機能
kintoneの検索機能について、以下のポイントに注意が必要です。
日本語、または中国語で検索する場合
- カナの全角と半角は区別されません。
- 指定できる検索キーワードは10個までです。
- 2文字以上の単語は、2文字以上のキーワードで検索する必要があります。1文字の単語は、1文字のキーワードで検索できます。
例:値が「日本語」という文字列のフィールドを検索する場合
- 検索可能なキーワード:「日本」、「本語」または「日本語」
- 検索できないキーワード:「日」、「本」、または「語」
英数字で検索する場合
- アルファベットの大文字と小文字、および全角と半角は区別されません。
- 指定できる検索キーワードは10個までです。単語単位で検索されます。
例:値が「cybozu kintone2」という文字列のフィールドを検索する場合
- 「cybozu」または「kintone2」をキーワードとして指定します。「cy」や「kintone」など部分一致する検索キーワードでは検索されません。
記号で検索する場合
- 全角と半角は区別されません。
- 指定できる検索キーワードは10個までです。
- 次の記号は検索キーワードから除かれます:日本語、および中国語の句読点、全角、および半角の次の記号- & | / ! ( ) { } [ ] ^ ” ~ * ? : ; \ $ % @ ‘ ` = < > .
検索の仕組みと注意点
- レコード保存直後は検索用のインデックスが未作成なので部分一致で検索してもヒットしないことがあります。
- ただ、完全一致であれば保存直後でも検索可能です。
- 「_(アンダーバー)」と「#(シャープ)」は、全角、半角共に単語の一部とみなされます
具体的な例
例として、左のようなレコードがあり、下のように絞り込んだ場合は右のような結果になります。
絞り込みの文字を変えるとこうなります。
記号は検索できないけれど無視されるわけではない。例えば「A C」だと検索出来るが、「AC」だと検索できない。
漢字の検索について
- 漢字は1文字が検索できないだけで、2文字以上なら検索可能。
- 1文字だけに分割した文字列と元の文字列だけで「漢字1文字検索」は可能。
例:「田中圭」→「田 中 圭 田中 中圭 田中圭」ではなく、
「田中圭」→「田 中 圭 田中圭」で検索可能。
漢字と英数で同様に簡略化できないか?
- •元の文字列を英数と漢字に分割して個別に分割してみたらどうか
- 「ABC山田」の時に「C山」を検索すると単純な分割では無理・・・?
- 文字の並び順によっては対象外の文字列が検索にヒットするケースある・・・
検討した結果
元文字から検索文字を生成するという仕組みは同じですが、生成のロジックを一新しました。その結果記号の一部が検索可能になりました
基本を確認し直すと、色々と気づきがありますので、皆さんも時々は基本を確認しましょう!
関連リンク
余談ですが
生成AIの進化は速いので、定期的に試すのは面白いですね。