全文検索 CGI の準備ができたら、次は、サイト内に検索窓を取り付けていただかなければいけません。「検索フォーム生成」メニューでは、その検索窓のタグを生成します。生成されたタグを使って、お好きなページに検索窓を取り付けていただきます。

管理メニューの「検索フォーム生成」を選択すると、下図の画面が表示されます。

▼図:検索フォーム生成画面
検索フォーム生成画面

検索フォームには、以下の 3 つのオプションがありますので、ご利用の環境に合わせて選択して下さい。

▼表示件数

検索結果 1 ページに表示したい文書数を指定して下さい。もし指定がなければ、システム設定メニューで設定されている「検索結果表示数のデフォルト値」欄の設定値が適用されます。

▼表示順

検索結果の表示順を指定して下さい。「スコア順」、「更新日時(新しい順)」、「更新日時(古い順)」をいずれかを選択して下さい。指定がなければ「スコア順」が適用されます。

全文検索 CGI では、検索キーワードから検索された文書ごとにスコアを計算します。このスコアとは、検索キーワードにどれだけその文書が適合しているかを数値で計算された値です。

▼日本語文字コード

検索フォームを貼り付けるページ(HTML)の日本語文字コード(charset)を指定して下さい。指定を間違えると、正しく検索できませんので、ご注意下さい。

以上のオプションを選択したら、「検索窓HTML生成」ボタンを押して下さい。画面下のテキストエリアに検索窓フォームのHTMLが表示されます。その表示されたHTMLを、あなたのサイトのページのお好きなところに貼り付けて下さい。

もし表示順や表示件数を、利用者に自由に選択させることができる検索窓や、自由にデザインしたい場合には、以下の HTML 仕様に基づいて、ご自分で検索窓用のフォームHTMLを作って下さい。

form タグの各属性値は以下の通りとして下さい。

action 属性 search.cgi の URL を指定して下さい。
method 属性 必ず "get" を指定して下さい。"post" メソッドは受け付けませんので、ご注意下さい。

次に、検索用 CGI (search.cgi)に引き渡すパラメーターは、下表の通りです。

検索キーワード(必須) 検索キーワード入力ボックスは、input タグの type 属性値を "text" にして使います。name 属性値は "q" です。
表示件数 name 属性値は "num" です。value 属性値は、検索結果 1 ページに表示させたい文書数を半角数字で指定します。
表示順 name 属性値は "sort" です。value 属性値は次の表の通りです。
表示順 value 属性値
スコア順 1
更新日時(新しい順) 2
更新日時(古い順) 3
日本語文字コード(必須) name 属性値は "charset" です。value 属性値は次の表の通りです。
文字コード value 属性値
Shift_JIS sjis
EUC-JP euc
UTF-8 utf8

日本語文字コードについては、利用者に選択させるものではありません。必ず input タグの type 属性値を "hidden" にしたうえで、指定して下さい。日本語文字コードの指定は必須です。必ず指定して下さい。指定が漏れると、正しく検索されない場合がありますので、注意して下さい。

以上の仕様を踏まえ、表示件数と表示順を利用者に選択させることができる検索窓フォームの例は次の様になります。ただし、search.cgi の URL は、ご利用の環境に合わせて修正して下さい。

検索キーワード
表示数 表示順

<form action="http://xxxxxxxx/ftsearch/search.cgi" method="get">
  <input type="hidden" name="charset" value="sjis">
  検索キーワード
  <input type="text" name="q" size="40" maxlength="256">
  <br>
  表示数
  <select name="num">
    <option value="10">10</option>
    <option value="20">20</option>
    <option value="30">30</option>
  </select>
  表示順
  <select name="sort">
    <option value="1">スコア順</option>
    <option value="2">更新日時(新しい順)</option>
    <option value="3">更新日時(古い順)</option>
  </select>
  <input type="submit" name="s" value="Search!">
</form>