kintoneプラグイン『機能拡張スタンダード All-In』のレコード一覧管理 - キーワード検索を使用します。
#概要
レコード一覧画面に検索ボックスを設置して、キーワード入力によるレコード検索を行います。
通常のレコード絞り込みと違い、
・検索対象のフィールドをいちいち選ばなくて良い
・数値や日付、文字列中の単語などの部分一致で検索できる
・アカウント/組織/グループ/ラジオボタン/チェックボックスなどをフリーワード入力で検索できる
など直感的な検索が可能となります。
郵便番号のCSVデータ(2018年1月31日時点のファイル)を読み込んで日本国内の住所一覧データをもつアプリを作りました。
このアプリで実際に検索を行っていきます。
(※検索を行うために設定が必要ですが、これは後で説明します)
#検索キーワードの複数指定
##AND検索
半角スペースで区切った文字列を、絞り込み条件で検索します。
東京都 千代田区
「東京都」と「千代田区」の両方にヒットするレコードが検索されます。485件でした。
##OR検索
バーティカルバー(パイプ記号)で区切ると、OR条件で検索します。
東京都 | 大阪府
「東京都 | 大阪府」と検索すると、「東京都」「大阪府」のどちらかにヒットするレコードが検索されます。結果は7696件でした。
OR条件はAND条件よりも優先されます。検索条件のブロックを区切る記号と考えてください。
キーワードを3つ以上組み合わせる場合に影響します。
東京都 区 | 京都府 区
「東京都」「区」の両方にヒットするレコードと「京都府」「区」の両方にヒットするレコードが検索されます。
結果は8009件でした。
##NOT検索
キーワードの先頭にマイナス符合をつけると、除外条件で検索します。
東京都 -千代田区
AND検索と除外条件の組み合わせです。
「東京都」にヒットし、「千代田区」にヒットしないレコードが検索されます。結果は3366件でした。
##エスケープ文字
半角スペースやマイナス符合で始まる文字列などを検索したい場合は、キーワードをダブルクォーテーションで囲います。
ダブルクォテーションを検索したい場合は、" の前に \ を付けます。
"東京都 千代田区"
"-0001"
"\""
#プラグイン設定
プラグイン設定を開き、レコード一覧管理のタブにキーワード選択の設定を行います。
-
値検索を利用する または 拡張検索を利用する のどちらかをチェックし検索モードを選択。
-
検索対象とするフィールドのボタンを押して選択。
-
拡張検索を選択した場合は、検索用データ保存フィールドを選び、検索用データを更新するを押して更新を実行。
検索用データを更新するボタンを押すとダイアログボックスが開く
検索用データの更新中
(これは全国の住所データなので124,178件のレコードの更新となった)
検索用データの更新が正常に完了したところ
(エラーが発生した場合はダイアログボックス内にエラーが表示される)
#値検索について
検索データ用のフィールドをアプリに用意する、などの準備なしで検索機能が使えます。
以下のフィールドが検索対象に選択できます。
- 文字列(1行)
- 文字列(複数行)
- 数値
- 計算
検索できるキーワードについてはkintoneの仕様に準じます。
> 検索キーワード入力時の注意事項
#拡張検索について
使用するためには検索データ用のフィールドをアプリに用意する、などの準備が必要です。
検索用データのフィールドに指定したフィールドは自動的に非表示となります。
- すべてのフィールドを検索対象として選択することができます。
- ステータス(プロセス管理)が検索対象として選択できます。
- 2文字以上の単語を1文字で検索できます。
(「日本語」という文字列を「日」や「本」で検索できる) - 英数字は単語単位でなく部分的な一致で検索できます。
(「cybozu_kintone」という文字列は「cybozu」「kintone」で検索できる) - カナの全角と半角、アルファベットの大文字と小文字が区別されます
- ユーザーアカウント、組織、グループ、ドロップダウン、チェックボックス、ラジオボタン、複数選択が部分一致で検索できます。
アカウント名やドロップダウンの選択肢など、レコード以外のデータが変更された場合でも検索用データの更新は必要ありません。
ただしアプリの更新でこれらのフィールドコードが変更された場合は検索用データの更新が必要です。
#検索結果について
検出されたレコードは一覧ビューとして表示されます。
AND検索とOR検索を併用しない検索結果に対しては、さらにkintone機能を利用した絞り込みやグラフ化などが行えます。
#このプラグインについて
・自動計算・自動採番
・条件書式
・フィールド属性
・選択数制御
・レコード一括更新
・[自動計算によるレコード一括更新](kintoneプラグイン『機能拡張スタンダード All-In』を使って自動計算でのレコード一括更新を行う)