[XWEB] WebDAV を使用してフルテキスト検索を実行する方法

この記事は、以前は次の ID で公開されていました: JP259849
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
Microsoft Exchange 2000 Server 上で検索のパフォーマンスを改善するために、メールボックス ストアまたはパブリック フォルダ ストアにフルテキスト検索を適用することができます。この資料では、パブリック フォルダ ストア上でフルテキスト インデックスを作成し、Web Distributed Authoring Version (WebDAV) を使用して、SQL クエリの WHERE 句で CONTAINS または FREETEXT を用いたフルテキスト検索を行う方法について、説明します。
詳細

フルテキスト インデックスの作成手順

  1. Exchange システム マネージャで、パブリック フォルダ ストア を探します。
  2. [パブリック フォルダ ストア] を右クリックし、[フルテキスト インデックスの作成] をポイントして、デフォルトのカタログの場所を承諾して、[OK] をクリックします。
  3. [パブリック フォルダ ストア] を再度右クリックし、[全カタログの作成を開始] をクリックして、[はい] をクリックして続行します。
  4. パブリック ストアの [フルテキスト インデックス] サブコンテナを見て、インデックス ビルドの状態を監視して、インデックス ビルドが終了するまで待ちます。
フルテキスト検索が適用されているストアでは、次のプロパティにインデックス付けされます。

PR_SUBJECT, PR_SUBJECT_Wurn:schemas:httpmail:subject
PR_BODY, PR_BODY_Wurn:schemas:httpmail:textdescription
PR_SENDER_NAME, PR_SENDER_NAME_Wurn:schemas:httpmail:sendername
PR_SENT_REPRESENTING_NAME, PR_SENT_REPRESENTING_NAME_Wurn:schemas:httpmail:fromname
PR_DISPLAY_TO, PR_DISPLAY_TO_Wurn:schemas:httpmail:displayto
PR_DISPLAY_CC, PR_DISPLAY_CC_Wurn:schemas:httpmail:displaycc
PR_DISPLAY_BCC, PR_DISPLAY_BCC_Wurn:schemas:httpmail:displaybcc
PR_SENDER_EMAIL_ADDRESS, PR_SENDER_EMAIL_ADDRESS_W該当なし


サンプル コードのテスト手順

  1. [パブリック フォルダ] コンテナの下に、"MyPub" という名前のパブリック フォルダを作成します。これが検索対象のフォルダとなります。
  2. "preliminary" という単語を含むもの、含まないものを織り交ぜて、いくつかのメッセージを MyPub フォルダに投稿します。
  3. [パブリック フォルダ] コンテナの下に、"AspApps" という名前の別のパブリック フォルダを作成します。次のコードをメモ帳に貼り付けて、使用するサーバー名を反映させてコードを修正し、AspApps フォルダに FullTextIndexing.asp として保存します。
    <%@ LANGUAGE=VBScript %><HTML><HEAD><META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"><TITLE>Simple SEARCH</TITLE></HEAD><BODY> <%   Response.Write("----begin----" + "<br>")   set doc = createobject("microsoft.xmldom")   set docback = createobject("microsoft.xmldom")   dim strURL   strURL = "http://servername/public/MyPub/"   set pi = doc.createProcessingInstruction("xml","version=""1.0""")   doc.appendChild pi   set node = doc.createNode(1,"searchrequest","DAV:")   set doc.documentElement = node   set node2 = doc.createNode(1,"sql","DAV:")   node.appendChild node2   set query = doc.createTextNode("select ""DAV:displayname"" from """ & strURL & """ WHERE CONTAINS('""preliminary""')")      node2.appendChild query   set req = createobject("microsoft.xmlhttp")   req.open "SEARCH", strURL, false, "MangoDomain\User1", "user1"   req.setrequestheader "Translate", "f"   req.setrequestheader "Content-Type", "text/xml"   req.setrequestheader "Depth", "0"   req.send doc   set docback = req.responseXML   Dim objNodeList   '通常、DAV ネームスペースには "a" というプリフィックスが付きます。   '検索で、複数のプロパティを指定する場合は、   '返された XML をあらかじめ調べて、使用するコードのプリフィックスを   '決定してください。   Set objNodeList = docback.getElementsByTagName("a:displayname")   For i = 0 To (objNodeList.length -1)     Set objNode = objNodeList.nextNode     Response.Write(objNode.Text & "<hr>")   Next   Response.Write("----end----" + "<br>")	%></BODY></HTML>

  4. 次の URL フォーマットを使用して、この .asp を Internet Explorer から実行します。
    http://サーバー名/public/aspapps/FullTextIndexing.asp
  5. 検索条件を満たすメッセージの全表示名のリストが返されます。
詳細
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 259849 (最終更新日 2000-10-21) をもとに作成したものです。

プロパティ

文書番号:259849 - 最終更新日: 02/04/2014 14:05:49 - リビジョン: 1.0

Microsoft Exchange 2000 Server Standard Edition

  • kbnosurvey kbarchive kbhowto kbxml KB259849
フィードバック