第 11 章 Doking の BLOG サイト内検索の実装
多くの Web サイトにはサイト内検索機能が備わっていることがよくありますが、これはどのように実装されているのでしょうか。 ASPであればDreamweaverでもすぐに実装できるでしょう。今は ASP.NET なので、少し手作業でコーディングする必要があります。
11.1 SELECT の高度な検索スキル
上記の章を学習すると、SELECT について少し理解できるようになります。実際、SELECT の高度な検索テクニックには何も不思議なことはありません。主にパターン マッチング演算子の使用に関連しています。そこで、ここではパターンマッチング演算子の使い方を中心に説明します。
パターン マッチング演算子 LIKE および NOT LIKE は、列の値が指定された文字列形式と一致するかどうかを判断するあいまい検索でよく使用されます。 LIKE は特定の条件に一致するレコードを検索するために使用され、NOT LIKE は指定された条件に一致しないレコードを検索するために使用されます。文字列、テキスト、日付、その他の種類のクエリに使用できます。
1.パーセント記号 %: 任意のタイプおよび長さの文字に一致します。
例: SELECT 学習ノート FROM 学習ノート テーブル WHERE タイトル LIKE "ネットワーク %"
このクエリは、ネットワーク データベース ASP ワンクリック パス、ネットワークなど、タイトルが「ネットワーク」で始まる学習ノート テーブル内のすべての学習ノートをクエリします。そして携帯電話通信の開発研究を待ちます。
例: SELECT スタディ ノート FROM スタディ ノート テーブル WHERE タイトル LIKE “%ASP.NET%”
このクエリは、タイトルに「ASP.NET」が含まれるすべての学習ノートをクエリします。
2. Underscore_: 単一の任意の文字と一致します。式の文字長を制限するためによく使用されます。
例: SELECT スタディ ノート FROM スタディ ノート テーブル WHERE タイトル LIKE "V_Development Selection"
このクエリは主に、「VB 開発セレクション」や「VC 開発セレクション」などのタイトルの学習ノートを検索します。
3.角括弧 [ ]: 文字、文字列、または範囲を指定します。一致するオブジェクトはそれらのいずれかである必要があります。
11.2 サイト検索機能の実装
SELECT の高度な検索手法を紹介した後、サイト検索機能の実装について説明します。ここでは、パーセント記号 % パターン マッチング演算子のみが使用されます。
(1) テンプレート dkblog.dwt.aspx を開き、フォームを挿入し、ID = "gofrm" に設定します。アクションは "../dkgo.aspx"、メソッドは "POST" にテキスト ボックスを挿入します。ID = に設定します。 "dkgotxt"; insert [検索] ボタンをクリックすると、結果が図 11-1 に表示されます。
(2) テンプレート dkblog.dwt.aspx を保存して、すべての Web ページを更新します。
(3) 新しい空の ASP.NET VB 動的ページを作成し、dkgo.aspx という名前で保存します。データセット Ztre を追加します。その設定は図 11-2 に示されています。
図 11-1 関連するフォーム コントロールの追加
図 11-2 データ セット Ztre の追加
(4) [詳細設定] ボタンをクリックし、SQL コマンド
SELECT * FROM ZT ORDER BY ZITIME DESC
を
SELECT * FROM ZT WHERE ZTNAME LIKE '%"+Request.Form("dkgotxt)
に変更します。")+"%' ORDER BY ZITIME DESC
結果を図 11-3 に示します。
図 11-3 データ セット Ztre の変更
(5) dkgo.aspx ページを設計し、関連するダイナミック テキストをページにバインドし、重要な領域を設計します。 結果を図 11-4 に示します。
図 11-3
dkgo.aspx のページ設定の詳細については、index.aspx の関連設定を参照してください。