close

0. 前言
   Indexing Service 是 Windows Server 提供的索引服務, 在 Windows Server 2003 中,
可以很容易設定給 Web 站台使用 Indexing, 但是在 Windows Server 2008 中, 依照同樣的設定方法, 卻發現無法套用到 Web 站台上, 在網路上搜尋很久終於找到了解決方法.

1. 安裝 IIS6 管理工具
   a. 在[開始]功能表中找到[系統管理工具], 選擇[伺服器管理員]
   b. 在左邊 tree 中展開[角色], 找到[網頁伺服器(IIS)], 按右鍵[新增角色]
   c. 在新增角色服務精靈中, 勾選[IIS6管理相容性], 按[下一步]
   d. 依照新增角色服務精靈指示, 完成安裝
   
2. 啟動網站之索引服務
   a. 在[開始]功能表中找到[系統管理工具], 選擇[電腦管理]
   b. 在左邊 tree 中展開[服務及應用程式], 找到[索引服務], 按右鍵[停止]把服務先停止,
      然後按右鍵[新增][目錄]
   c. 輸入[名稱]及[位置]後, 按[確定]建立索引目錄(假設名稱為arthur)
   d. 展開剛剛建立好的索引目錄(arthur)可以發現裡面有兩個資料夾(目錄.內容),
      點選[目錄], 按右鍵[新增][目錄]
   e. 輸入[路徑], [要包含索引]請選"是", 其他欄位不填, 按下[確定]
   f. 回到c.步驟建立好的索引目錄(arthur)按右鍵, 點選[內容]
   g. 切換到[追蹤]標籤, 將[從服務繼承上列設定值]打勾, [WWW伺服器]請挑選您要索引的 Web 站台
   h. 切換到[產生]標籤, 將[含有未知副檔名的索引檔案].[產生摘要]打勾, 按下[確定]
   i. 回到[索引服務], 按右鍵[開始]將服務啟動
   
   如果是 Windows Server 2003, 因為已經是 iis6.0, 只要第二個步驟, Web 站台的 Indexing Service 就已經起來了, 但是 iis7.0 很奇怪, 設定完上述的步驟之後, 如果您在操作一次 2.f 的步驟, 會發現[WWW伺服器]又變成空白, 因此若為 Windows Server 2008 還需要以下 3 和 4 的步驟.

3. 檢查登錄檔
   a. 執行 regedit.exe, 依照以下路徑展開:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex\Catalogs\arthur
      展到最後, 可以在其中找到 IsIndexingW3Svc 跟 W3SvcInstance 這兩個值
   b. 確認 IsIndexingW3Svc 的值是否為 1, 若不是請將其值改為 1,
   c. 確認 W3SvcInstance 的值是否為您在 2.g 挑選的站台 id, 若不是請將其值改為該站台之 id.
      (若不知道站台 id, 可以透過 iis 管理員, 點選站台, 就可以看到所有站台的id了)

4. 設定 ContentIndexed metabase property
   a. 執行命令提示字元, 先切換目錄到 %systemdrive%\inetpub\adminscripts 下
   b. 執行: cscript adsutil.vbs set w3svc/[web site instance]/root/[virtual director]/ContentIndexed 1
      [web site instance]: 即 3.c 提到之站台 id
      [virtual director]: 若無虛擬目錄, 可以省略"/[virtual director]"
      example: cscript adsutil.vbs set w3svc/1/root/ContentIndexed 1

本文參考:AsiaTech: Learning by Practice

arrow
arrow
    全站熱搜

    浮雲 發表在 痞客邦 留言(0) 人氣()