しらぎく検索スクリプトの設置方法と使い方。

しらぎく検索スクリプトの設置方法と使い方・目次。

利用可能となる条件。 (平成18年10月29日 更新)

しらぎく検索スクリプトの利用可能となる条件は現在のところ以下のようになっております。

対象文書はシフトJISコードに限ります。
文字コードを変換すれば対応は可能ですが、当分の間シフトJISコード限定としておきます。
モバイルはH"リンクを含む全端末に対応しております。

モバイルでは一ページに五件ずつご案内します。

但し、WAP 1.0(EZウェブ旧型機)の白黒専用機では一ページの案内件数は三件となり、スニペット(本文のキーワードを含む部分)は省略されます。

また、H"リンクでは、使い方が異なります。詳しくはH"リンク対応サイトでの使い方をご覧下さい。

設置方法。(平成19年 4月27日 訂正)

  1. ダウンロードしたファイルを解凍し、「cgi-bin」内のファイルをローカルにコピーします。
  2. 「s.cgi」について、実行するサーヴァに併せて設定します。

    ウィンドウズIISサーヴァの場合
    mod_perl上で動作させる場合、またはmod_perl上で動作させる事を前提としている場合
    「s.cgi」の二行目の$system_dir='./';の右辺にCGI設置ディレクトリまでのサーヴァ内での絶対パスに変更します。
    その他の場合
    「s.cgi」の一行目をPerlのライブラリへのパスに合せて変更します。

    尚、ウィンドウズIISサーヴァ上で動作させる場合、及びmod_perl上で動作させるか動作させる事を前提として設置する場合には「s.cgi」の拡張子を適宜変更してお使い下さい。

  3. 「sConfig.pl」の設定項目を設定します。

    以下の変数を設定して下さい。

    $gzip

    GZIP圧縮が可能であれば、GZIPライブラリへのパスを指定します。

    • GZIP圧縮に対応していない場合は、空白文字列にします。
    $this_addr
    「s.cgi」へのURIを記述します。
    $max_results

    案内する件数の最大値を指定します。

    • 余り大きな数にすると負荷が掛かりすぎますので、なるべく小さな値にしておくと良いでしょう。
    • H"リンクでは最大三十件となります。この値が30より大きい場合であっても、三十件で検索が打ち切られます。
    $template

    検索結果を配信するHTMLテンプレート文書への相対パス。

    • 実際には<title>要素を書き換え、<body>要素内に検索結果を入れてHTML 4.01 トランジッショナル文書型宣言を与えて配信します。サイト内にある任意のHTML文書を指定すれば良いでしょう。
    • 特にサイトデザインをCSSで行っている場合に有効でしょう。
    $root_uri

    検索対象となる最上位ディレクトリへのURIを指定します。

    • これより上位のディレクトリへの検索は出来ません。
    • 通常のディレクトリの場合は、必ず末尾を/にして下さい。
    • CGIなどのクエリでページを指定する場合は、末尾を=にする事で、この後ろにページへのパスを繋ぎます。
    $root_dir

    検索対象となる最上位ディレクトリへの相対パスを指定します。

    • これより上位のディレクトリへの検索は出来ません。
    @directories

    検索対象となるディレクトリへの$root_dirで指定したディレクトリからの相対パスを空白で区切って指定します。

    ここで指定したサブディレクトリは実際に検索スクリプトを呼び出す際にクエリにて指定します。

    • $root_dirで指定したディレクトリ自身を指定する場合は、サブディレクトリ名として.(ドット一個)を指定します。
    $lang(平成18年10月22日)

    検索対象となるコンテンツの言語環境を指定します。

    • 日本語では 0
    • ラテン文字言語(英語など)では 1

    をそれぞれ指定します。

    • 現在、日本語とラテン文字言語のみサポートしております。
    • ラテン文字言語の場合、案内表示は全て英語となります。
    • 複数言語の混在は出来ません。
    $charset(平成18年10月22日)

    検索対象となるコンテンツの文字コードを指定します。

    • 現在、shift_jisiso-8859-1のみサポートしております。
    • 空の場合はshift_jisとなります。
    • 複数の文字コードの混在は出来ません。
    $allDisp (平成18年10月28日)

    PCにて、検索結果を全部一画面で表示する場合は 1とします。

    • 通常は、10件毎にページを分割します。
    • モバイルではこの指定に拘らずページ分割を行います。
    $noLookSubdir (平成18年10月28日)

    指定ディレクトリの下位ディレクトリを検索対象としない場合に 1にします。

    • 通常は、下位ディレクトリも調べます。

    また、モバイルで利用される場合は、以下の変数の設定もお奨めします。 (以下、平成18年10月26日 更新)

    $wapcss_uri

    WAP 2.0(EZウェブ現行機及びソフトバンク次世代機)でスタイルシートを利用する場合に、そのスタイルシートのURIを記述します。

    • 複数のスタイルシートは現時点ではサポートしておりません。
    $imode_bg
    コンパクトHTML(iモード及びソフトバンク在来機)での背景色を#xxxxxxの形式で指定します。
    $imode_fg
    コンパクトHTMLでの前景色(普通の文字の色)を#xxxxxxの形式で指定します。
    $imode_hd
    コンパクトHTMLでの見出しや強調箇所の色を#xxxxxxの形式で指定します。
    $imode_lk
    コンパクトHTMLでの未訪問アンカーの色を#xxxxxxの形式で指定します。
    $imode_vl
    コンパクトHTMLでの訪問済アンカーの色を#xxxxxxの形式で指定します。
  4. 全てのスクリプトをサーヴァに設置します。
  5. パーミッションを指定します。

    通常のCGIとしてのみ動作させる場合
    s.cgi
    700推奨。700で動作しない場合は705, 755の順に指定してみて下さい。
    sConfig.pl
    search.pl
    600推奨。600で動作しない場合は604, 644の順に指定してみて下さい。
    mod_perl上で動作させる場合、またはmod_perl上で動作させる事を前提に設定している場合 (平成19年 4月27日 訂正)
    s.cgi
    705推奨。705で動作しない場合は755に指定してみて下さい。
    sConfig.pl
    search.pl
    604推奨。604で動作しない場合は644に指定してみて下さい。
    • mod_perl上ではSuExecが使えないため、第三者権限で動作するようにして下さい。

HTML文書側での設定。 (平成18年10月31日 更新)

検索窓は以下のように記述します。

<form action="検索CGIへのURI" method="get">
    <ul>
        <li>
            <input type="hidden" name="mlt" value="設定名" /></li>    <!-- 「sConfig-○○.pl」で設定されたサイトの場合のみ記述 -->
            <input type="text" name="w" /
            ></li>
        <li>
            <input type="hidden" name="d" value="検索対象となるサブディレクトリ" />
            <input type="submit" value="検索" />
            <input type="reset" value="クリア" />
            </li>
        </ul>
    </form>

ここで、上記の値は以下のようになります。

設定名

「sConfig-○○.pl」で設定されたサイトの場合のみ記述するもので、この場合○○設定名に入れる事となります。

検索CGIへのURI
$this_addrで指定したURIです。
検索対象となるサブディレクトリ

@directoriesで指定した相対パスのうちの一つ以上を半角空白で区切って指定します。(平成18年10月31日)

また、検索後に元のページに戻れるようにしたい場合は、以下のようにtype="hidden"属性とname="r"属性を与えた<input>要素を付け加えます。 (以下、平成18年10月26日 追加)

<form action="検索CGIへのURI" method="get">
    <ul>
        <li>
            <input type="hidden" name="mlt" value="設定名" /></li>    <!-- 「sConfig-○○.pl」で設定されたサイトの場合のみ記述 -->
            <input type="text" name="w" /
            ></li>
        <li>
            <input type="hidden" name="d" value="検索対象となるサブディレクトリ" />
            <input type="hidden" name="r" value="戻り先ページへのURI" />
            <input type="submit" value="検索" />
            <input type="reset" value="クリア" />
            </li>
        </ul>
    </form>

ここで、value属性の値となる戻り先ページへのURIとしては、

のいずれかを指定します。

使い方。 (平成18年10月28日 更新)

検索窓に検索したい言葉を入れて、ボタンを押します。

このとき、検索語には以下の決まりがあります。

検索語は半角は二文字以上とします
半角一文字は無効となります。
複数語句は空白で区切って指定出来ます
空白で区切っていない語句は一纏めになっていない限り検索されません。また、この空白は全角空白でも構いません。
全角文字と半角文字は別物です
処理を軽減するため、全角文字と半角文字の同一視は行っておりません。
英字の大文字小文字は半角のみのキーワードでのみ同一視します
全角文字を含んだキーワードでは、英字の大文字小文字は全角半角問わず全て別物とします。
記号は一部を除いて無効になります
ひらがな, カタカナ, 漢字, 英数字等が有効です。記号は「-」「&」, 反復音符, 長音符等が有効です。

検索結果は十件ずつ出力されます。

続きを見たい場合は続きボタンを押して下さい。

モバイルでの使い方。 (平成18年10月28日)

モバイル端末の場合も同様になりますが、ダイヤルボタンでの操作が可能になります。

前の検索結果に戻る場合…7
検索結果を複数ページに跨って見ている場合に、前のページに戻るには7を入力します。
検索結果の続きを見る場合…9
検索結果が複数ページに跨る場合に、続きを見るには9を入力します。
検索ページに戻る場合…8

検索結果前の入力画面に戻るには8を入力します。

尚、H"リンクでは全ての操作がダイヤルボタンに依るものとなるため、入力する番号は上記と異なります

mod_perlに対応するには。(平成19年 4月 6日)

mod_perlに対応するには、以下の手順に従って下さい。

  1. 先ず、必ず通常のCGIとして設置した上で、正常に動作する事を確認して下さい。この場合、必ずmod_perlとして動作させる事を前提として設定を行って下さい(特にパーミッションは第三者権限で動作するようにして下さい)。
  2. CGIとして動作する事を確認した上で、mod_perlで動かすのに必要な設定を行って下さい。

    この場合、主に以下の手続きが必要になると思われます。

    1. mod_perl上で動作させるための「s.cgi」の拡張子の変更
    2. 「s.cgi」の拡張子の変更に伴う「sConfig.pl」設定ファイルの変更

      • 「s.cgi」の拡張子の変更に伴う変更以外はしないようにして下さい。すなわち、拡張子以外の設定は初めにCGIとして試運転を行う際に全て済ませるようにして下さい。
    3. mod_perl上で動作させるための「.htaccess」サーヴァ設定ファイルの変更

      • この場合、以下のようにして下さい。

        mod_perl 1.x (アパッチ 1.x用)上で動作させる場合
        <Files ~ "\.スクリプトの拡張子$">
            SetHandler      perl-script
            PerlHandler     Apache::Registry
            PerlSendHeader  On
            #試運転中及び差替え直後に必要です。
            #※試運転・差替え終了後はコメントアウト(行頭に#を付ける)して下さい。
            PerlInitHandler Apache::StatINC
            </Files>
        mod_perl 2.x (1.99以降・アパッチ 2.x用)上で動作させる場合
        <Files ~ "\.スクリプトの拡張子$">
            SetHandler      perl-script
            PerlHandler     ModPerl::Registry
            PerlSendHeader  On
            #必ず入れて下さい。
            setenv PERL_SEND_HEADER On
            #試運転中及び差替え直後に必要です。
            #※試運転・差替え終了後はコメントアウト(行頭に#を付ける)して下さい。
            #※ヴァージョンに依っては Apache2::Reload となる場合もあります。
            PerlInitHandler Apache::Reload
            </Files>
  3. 必要な準備が済んだら、mod_perl上でスクリプトを動作させてみて下さい。

同一サーヴァ内の複数サイトに対応するには。(平成19年 4月 6日)

第0.900版(平成19年 4月 6日)から、同じサーヴァ内にある別のサイトの検索も一つのスクリプトで対応出来るようになりました。

この場合、「sConfig.pl」はその中の一つに対する設定を入れるものとなり、二つ目以降については「sConfig-○○.pl」と設定名を持ったファイル名となります。

例えば、二つ目の設定名が「SubSite」となる場合、設定ファイルは「sConfig-SubSite.pl」となります。

実際に利用するには、二つ目以降のサイトで検索を行う場合のみ、設定名を指定する必要があります。

アップデートの方法。(平成19年 4月 6日 更新)

当分の間、アップデートの際には「search.pl」「Hフォルダ」のみ上書きして下さい。

第0.900版(平成19年 4月 6日)より前のヴァージョンからのアップデートでは、スクリプトを再度設定し直す必要があります。

お手数ですが、ご理解のほど宜しくお願い申し上げます。


ページ外へのご案内。