kintone では、文字列フィールドの値で検索を行う場合「日本語の1文字検索」や「英数字の部分一致」ができません。これに対処するために、検索したい元のフィールドの値から、「日本語の1文字検索」や「英数字の部分一致」にも対応した検索用のフィールドを作成します。
事前に、kintoneのフォームに、検索したいフィールドとは別に、そのフィールドの検索専用ダミーフィールドを作成しておきます。例えば検索したいフィールドが「顧客コード」だったら「顧客コード(検索用)」といったフィールドを作成しておきます。
Customine のカスタマイズで、「レコードを保存する直前(削除時は除く)」や「フィールドの値を編集して値が変わった時」といったお好きなタイミングで「検索用文字列を作成する」ように設定します。この時、上の例であれば「元のフィールド」に「顧客コード」、「検索用文字列をセットするフィールド」に「顧客コード(検索用)」を指定します。
作成した検索フィールドで実際に検索を行うには、例えば「一覧画面にキーワードで検索する検索フォームを設置する」を設置します。上の例の場合は、検索条件フィールドとしては「顧客コード(検索用)」の方を指定します。
※ 「一覧画面に簡易検索フォームを設置する」は完全一致で検索するため、この方法は使えません。
「元のフィールド」「検索用文字列をセットするフィールド」を設定します。
本来検索したい値が入っているフィールドを指定します。
「検索用文字列を作成する」を実行しても、元のフィールドの値は変更されません。
選択可能なフィールドタイプは以下の通りです。
テーブル内のフィールドを指定した場合、特別な場合(*1)を除き、テーブル内のすべての行に対して処理されます。
(*1) 条件側で、「フィールドの値を編集して値が変わった時」のように、テーブル行を限定するように条件が入っている場合は、対象の行だけ処理されます。
元のフィールドの値に対して、日本語の1文字検索や英数字の部分一致に対応した値をセットする先のフィールドを指定します。
「検索用文字列を作成する」を実行すると、このフィールドの値は上書きされます。
選択可能なフィールドタイプは以下の通りです。
「元のフィールド」がテーブル内のフィールドの場合、「検索用文字列をセットするフィールド」も同じテーブルから選択する必要があります。
「元のフィールド」に入ってる値の文字数が64文字以内である必要があります。65文字以上の長さの値が入っていると、カスタマイズの実行時にエラーが表示されます。
(2019/9/5バージョン1.61以降)「元のフィールド」と「検索用文字列をセットするフィールド」に同じフィールドをセットすることはできません。
対応しています。
ただし、「検索用文字列をセットするフィールド」に以下の制限があります。