現在オフラインです。再接続するためにインターネットの接続を待っています

カスタマイズの Index Server 検索ページを ASP Expression Web を使用して作成する方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:928700
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
カスタマイズされたインデックス サーバー検索ページを Microsoft Expression Web での Active Server Pages (ASP) を使用して作成する方法について説明します。
詳細

手順 1: Microsoft ASP.NET をインストールします。

ASP 機能で Expression Web を使用する前に ASP.NET インストールする必要があります。 ASP.NET をインストールする方法の詳細についてはをクリックして以下「サポート技術情報」(Microsoft Knowledge Base) 資料を参照。
928710Expression Web で Active Server Pages (ASP) 機能を使用する ASP.NET をインストールする方法

手順 2: で Expression Web フォーム ページを追加します。

  1. Expression Web を起動して、検索ページを作成したい Web サイトは、開きます。
  2. [ ファイル ] メニューの [ 新規作成 をポイントし、[ ページ ] をクリックして [ OK] をクリックします。
  3. [ 挿入 ] メニューの [ HTML ] をポイントし、[ 他の HTML タグ ] をクリックします。
  4. 右ペインで フォーム コントロール ] を展開し 入力 (テキスト) をダブルクリック、 ドロップダウン ボックス ] をダブルクリックして開きをダブルクリック 入力 (送信)
  5. [Web] ページで、手順 4 で挿入したテキスト ボックスをダブルクリックします。
  6. [ テキスト ボックスのプロパティ ] ダイアログ] ボックスに、[ 名前 ] ボックスに QUERYTEXT を入力します。
  7. [ 初期値 ] ボックスに、<%=Request("QUERYTEXT")%> を入力します。、[ OK] をクリック します。
  8. [Web] ページで、ドロップダウン ボックス手順 4 で挿入したをダブルクリックします。
  9. [ ボックスのプロパティ] ドロップ ダイアログ] ボックスに、[ 名前 ] ボックスに QUERYFIELD を入力します。
  10. [ 追加 ]、[ 選択 ] ボックスに DocAppName を入力します。
  11. 値を指定 チェック ボックスをオフを [ OK] をクリック します。
  12. 手順 10 ~ 11、次のメニュー項目を追加を繰り返します。
    • キャラクタリゼーション
    • ファイル名
    • DocAuthor
    • DocTitle
  13. [OK] をクリックします。
  14. 送信 ボタンを右クリックして、[ フォーム プロパティ ] をクリックします。
  15. 他へ送信 ] をクリックし、 オプション を実行します。
  16. [ 操作 ] ボックスに、<%=Request.ServerVariables("URL")%> を入力します。 をして [ OK] を 2 回クリックします。
  17. [ ファイル ] の [ 保存 ] をクリックします。
  18. ファイル名 ] ボックスで IndexServerTest.asp を入力して、[ 保存 </a0>] をクリックします。

手順 3: ページに、サンプル ASP コードを追加します。

メモ Expression Web この資料からのサンプル コードを 場合、エラー メッセージが表示されるがあります。 式の Web、山かっこ (<) 誤って解釈することがあります。 この現象を回避するにはメモ帳の空白の文書に、サンプル コードを貼り付けます。 メモ帳で、コードをコピーし、Expression Web を貼り付けます。
  1. 右側のウィンドウのステータス バーの [HTML ビューに切り替えを実行する コード ] をクリックします。
  2. Type or paste the following code before the opening HTML tag:
    <%  ' Force variable declaration.  Option Explicit  ' Declare all our variables.  Dim strQueryText  Dim strQueryField  Dim strSQL  Dim strName  Dim strValue  Dim objRS  Dim objField  ' This is the list of Index Server variables that will appear.  ' You can customize the list of fields. For more information,  ' see Microsoft Knowledge Base article 318387.  Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle, FileName, Create, Access, Characterization, VPath"  ' This is the default Index Server catalog for all Web content.  ' For information about how to customize this, see Microsoft   ' Knowledge Base article 318387.  Const strDataSource = "WEB"  ' Get the value of the user-submitted search query.  strQueryText = Request("QUERYTEXT")  ' Set a default value if the user has not submitted anything.  If Len(strQueryText) = 0 Then strQueryText = "%%"  ' Get the field that the user wants to query against.  strQueryField = Request("QUERYFIELD")  ' Set a default value if the user has not specified a field.  If Len(strQueryField) = 0 Then strQueryField = "DocTitle"%>
  3. コードを入力するか貼り付けます、次終了タグの後:
    ' Check if the user has entered a value in the formIf strQueryText <> "%%" Then<%  ' Build the SQL statement from the user-specified options.  strSQL = "SELECT " & strDisplayFields & " FROM SCOPE() " & _  	"WHERE ((" & strQueryField & " LIKE '%" & strQueryText & "%') AND " & _  	"((VPath NOT LIKE '%/_vti%') AND (VPath NOT LIKE '%/_private%')))"  ' Create a recordset object.  Set objRS = Server.CreateObject("ADODB.Recordset")  ' Open the recordset by using the SQL string with the Index Server provider.  objRS.Open strSQL,"PROVIDER=MSIDXS;DATA SOURCE=" & strDataSource  ' Are there any records to show?  If objRS.EOF Then    ' Show a default message if nothing is found.    Response.Write "No Documents were Found." & vbCrLf    ' Otherwise...  Else    ' Start a table.    Response.Write "<table border=""1"">" & vbCrLf    ' Start the row for the header section.    Response.Write "<tr>" & vbCrLf    ' Loop through the fields collection.    For Each objField in objRS.Fields      ' Get the field's name.      strName  = objField.Name      ' If the field has a name, escape it for HTML.      If Len(strName)  > 0 Then strName = Server.HTMLEncode(strName)      ' Output the field name as a table header.      Response.Write "<th>" & strName & "</th>" & vbCrLf    Next    ' End the row for the header section.    Response.Write "</tr>" & vbCrLf       ' Loop through all the records.    While Not objRS.EOF      ' Start a row in the data section.      Response.Write "<tr>" & vbCrLf      ' Loop through the fields collection.      For Each objField in objRS.Fields        ' Get the field's value.        strValue = objField.Value        ' Look for null values.        If Len(strValue) > 0 Then          ' If the value is not null, escape it for HTML.          strValue = Server.HTMLEncode(strValue)        Else          ' Otherwise, make it a non-breaking space character.          strValue = "&#xa0;"        End If      ' Output the field value as table data.        Response.Write "<td>" & strValue & "</td>" & vbCrLf      Next      ' End a row in the data section.      Response.Write "</tr>" & vbCrLf      ' Move on to the next record.      objRS.MoveNext     Wend     Response.Write "</table>" & vbCrLf  End If%>Else' User has not entered any value in search form    Response.Write "Please enter a Search Term before submitting the form" & vbCrLfEnd if
  4. [ ファイル ] の [ 保存 ] をクリックします。

手順 4: サンプル ASP ページをテストします。

  1. Expression Web が起動され、IndexServerTest.asp ページを開いてください。
  2. [ ファイル ] メニューの [ ブラウザーでプレビュー ] をポイントし、[ブラウザーを使用する] をクリックします。
  3. [テキスト] ボックスに、検索条件を入力します。 一覧でクエリにするフィールドをクリックします。
  4. 送信 をクリックします。 クエリに一致する任意の結果、ページ上の表に表示されます。

手順 5: サンプル ASP ページをカスタマイズします。

サンプル ASP ページをカスタマイズするのにには、次の方法のいずれかを使用します。

方法 1: カタログを変更します。

複数のインデックス サーバー カタログが Web サーバー上で定義されている場合、サンプル ページを別のカタログを使用して構成できます。 これを行うには、次の手順を実行します。
  1. Expression Web を起動してオープンし、サンプル ASP ページこの資料の前半で作成したそのします。
  2. コード の HTML ビューに切り替えるにはクリックします。
  3. 次のコード行を検索:
    Const strDataSource = "WEB"
  4. カタログの名前に、 strDataSource 変数の値を変更します。 の例の行は次のコードを示します:
    Const strDataSource = My_Custom_Catalog
  5. ファイル ] メニューの [ 保存 ] をクリックして、ファイルを閉じます。

方法 2: フィールド] ボックスの一覧を変更します。

  1. Expression Web を開始して、この資料の前半で作成したサンプル Web ページ、開きます。
  2. コード の HTML ビューに切り替えるにはクリックします。
  3. 次のコードのようなコード行を検索:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName"
  4. 値の一覧を変更します。 各フィールド名をコンマで区切ります。 の例の行は次のコードを示します:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle"
  5. ファイル ] メニューの [ 保存 ] をクリックして、ファイルを閉じます。
次の表の値を strDisplayFields 変数を使用できます。
フィールド名 フィールドの種類 説明
アクセス日付/時刻最後に、ファイルにアクセスします。
キャラクタリゼーションテキスト/文字列キャラクタリゼーション、またはインデックス サーバーによって計算された、文書の概要
作成日付/時刻ファイルが作成された時点
ディレクトリテキスト/文字列しないファイル名を含む、ファイルの物理パス
DocAppNameテキスト/文字列ファイルを作成したアプリケーションの名前
DocAuthor テキスト/文字列ドキュメントの作成者
DocByteCount数値 文書内のバイト数
DocCategoryテキスト/文字列メモ、スケジュール、ホワイト ペーパーなど、文書の種類
DocCharカウント数値文書内の文字数
DocCommentsテキスト/文字列ドキュメントに関するコメント
DocCompanyテキスト/文字列ドキュメントが記述されている会社の名前
DocCreatedTm日付/時刻ドキュメントが作成された時点
DocEditTime日付/時刻ドキュメントの編集に費やされた時間の合計
DocHiddenCount数値Microsoft PowerPoint プレゼンテーション内の非表示のスライドの数
DocKeywordsテキスト/文字列ドキュメントのキーワード
DocLastAuthorテキスト/文字列ドキュメントを編集した最新ユーザー
DocLastPrinted日付/時刻図面が最後に印刷された時刻
DocLastSavedTm日付/時刻 ドキュメントを最後に保存された時点
DocLineCount数値文書に含まれる行の数
DocManagerテキスト/文字列ドキュメントの作成者のマネージャーの名前
DocNoteCount数値PowerPoint プレゼンテーションにメモを持つページの数
DocPageCount数値文書内のページ数
DocParaCount数値文書内の段落数
DocPartTitlesテキスト/文字列文書パーツの名前。 たとえば、Microsoft Excel では、スプレッドシートは、文書パーツです。 Microsoft PowerPoint で、スライドはドキュメント要素です。 Microsoft Word では文書に含まれるドキュメントのファイル名はドキュメント パーツです。
DocPresentationTargetテキスト/文字列PowerPoint プレゼンテーションの 35 mm、プリンター、またはビデオ) などのターゲット フォーマット
DocRevNumberテキスト/文字列ドキュメントの現在のバージョン番号
DocSlideCount数値PowerPoint プレゼンテーションのスライドの数
DocSubjectテキスト/文字列ドキュメントの件名
ドキュメント テンプレートテキスト/文字列ドキュメントのテンプレートの名前
DocTitleテキスト/文字列ドキュメントのタイトル
DocWordCount数値文書内の単語数
FileIndex数値ファイルの一意の ID
ファイル名テキスト/文字列ファイルの名前
ヒット数数値ヒット数、またはファイルで、クエリに一致する単語の数
パステキスト/文字列ファイル名を含む、ファイルの完全な物理パス
ランク数値行のランク。 この値の 0 から 1000 まで範囲です。 大きい数値は優れた一致を示します。
ShortFileNameテキスト/文字列短い (8. 3) のファイル名
サイズ数値バイト単位でファイルのサイズ
VPathテキスト/文字列ファイル名を含むファイルの完全な仮想パス。 可能な 1 つ以上のパスが存在する場合はの特定のクエリに対する最適が選択されます。
書き込み日付/時刻最後に、ファイルに書き込まれました。

トラブルシューティング

  • インデックス サービスが実行されていない場合、次のエラー メッセージが表示されます。
    Microsoft OLE DB プロバイダーのインデックス サービスのエラー '80041820' サービスが実行されていません。 /IndexServerTest.asp、ライン 44
    この問題を解決するにはインデックス サービスを開始します。
  • カタログが無効で、エラー メッセージが表示されたらを指定する場合、次のエラー メッセージのような。
    Microsoft OLE DB プロバイダーのインデックス サービス エラー '8004181d' がカタログはありません。 /IndexServerTest.asp、ライン 44
    この問題を解決するには、 strDataSource 変数の値を確認します。 それが正しい場合はインデックス サービスを再開します。
関連情報
Microsoft Windows 2000 インデックス サービスの使用方法の詳細については、以下の「クリック、記事の「サポート技術情報」(Microsoft Knowledge Base) を表示します。
185985インデックス サービスを照会および META TAG 情報の表示を使用してください。
256276エラー メッセージ: カタログがありません
229282ASP コード、Index Server 結果ページのソースを表示すると表示されます。

警告: この記事は自動翻訳されています

プロパティ

文書番号:928700 - 最終更新日: 12/09/2015 08:23:21 - リビジョン: 1.0

Microsoft Expression Web [1.0]

  • kbnosurvey kbarchive kbhowto kbexpertiseinter kbmt KB928700 KbMtja
フィードバック