サジェスト

最終更新日: 2020年7月5日
R8 | R9

「見積書」モデルにおいて、「得意先」の項目にサジェストを適用した例を図1に示します。得意先コードとして "0" を入力すると、すぐに候補が表示されます。

図1 候補が表示された

候補から選択します。ここで参照連動を設定しておくと、候補から確定したタイミングで、参照連動の解決が行われます。(図2)

図2 参照連動機能

定義方法

サジェストされる側のモデル

「得意先モデル」の「得意先コード」項目を検索条件として使うように設定します。また、この項目を「モデル参照(検索)」とします。

さらにモデル項目の詳細定義で、全文検索の欄を設定します。

図3 全文検索の設定

重要

図3の設定は、見積書モデルに行うものではありません。参照先のモデル(ここでは「得意先モデル」)の「得意先コード」項目への設定となります。

図4 設定するモデル

サジェストのみの設定

「全文検索を行う」設定で、"全文検索" を指定すると全文検索とサジェストの両方を利用できます。
ここで "サジェストのみ" を指定することもできます。この場合は全文検索機能は利用できません。

ワンポイント

全文検索とサジェストの両方を適用すると、検索用のインデックスファイルのサイズが肥大化します。サジェストでしか用いない場合は "サジェストのみ" を選択するようにしてください。

文字列の一致方法の選択

通常は "前方一致" を利用してください。"部分一致" を指定した場合は、候補が表示されるタイミングが2文字以上入力した後となります。

候補リストの同時表示数

サジェストの候補表示数を指定します。未設定時の標準は 20 件です。この値は 1 以上を指定してください。

サジェストを用いる側

サジェスト入力機能を用いる側のモデル(上の例では「見積書」モデル)側の項目に設定します。

図5 参照の設定

サジェスト入力欄の長さの指定

入力長を指定することもできます。

図6 入力フィールド長の指定

仕様・制約

設定できる項目

  • サジェストは参照先が文字列型の場合のみ使用できます。それ以外の型の場合は、通常のサブウィンドウ検索として機能します。
  • (参照元が)繰り返しコンテナ内の項目の場合にも使用できます。

検索機能

文字列の一致方法を指定することができます。

前方一致検索

  • "前方一致" を指定した場合、例えば "北九州" という文字列に対して "北" はヒットしますが、"九州" はヒットしません。
  • 前方一致検索の最大文字列長は 64 文字です。

部分一致

  • "部分一致" を指定した場合、例えば "北九州" という文字列に対して "九州" もヒットします。
  • "部分一致" を指定した場合、候補が表示されるタイミングが2文字以上入力した後となります。

表示順序(ソート)

  • 標準では主キー項目の昇順でソートします。
  • サジェストが参照するモデルの、全文検索対象項目に対してソート順の設定を行っていた場合、この数値の「符号」がサジェストの並び順にも反映されます。(ソート順の数値が負数の場合は逆順となります。)

注意

表示順序をカスタマイズすることはできません。サジェストで表示される候補の標準値は20件ですが、実際には大量のデータをソートした上で最上位の20件のみを表示しています。このソートルールは昇順か降順かのいずれか、となります。

制約

  • サジェストの設定を行うモデルの主キーが複合キーの場合、サジェストの並び方に問題が生じることがあります。 R8.2.3 で対応しました。
  • サジェストを使う項目は検索条件として使うように設定する必要があります。
  • サジェストを使う項目は「データベースに保存する」が有効になっている必要があります。
  • サジェストによって表示される候補は、有効期限の設定が考慮されません。(有効期限の設定があっても、無視して表示されます。)
  • 「主キー(コード)を直接入力する」機能との併用は行えません。どちらを使うか迷ったときは、サジェストの利用を推奨します。
  • 絞り込み設定との併用はできません。
  • サジェスト入力欄への「項目の値が変更されたら画面を再描画する」設定は無視されます。
  • "*", "\", "?" 文字を検索することはできません。これらの文字を(サジェストの)欄に入力するとエラーになります。

その他

全文検索・サジェストのために利用する検索用インデックスファイルはデータベースとは別に作成されます。詳細...