Umbraco中更換IndexSet中的NodeType後,搜索頁面沒有作出對應更改的效果

在項目開發中,使用ExternalSearcher,有一個ExamineIndex.config文件中存放ExternalIndexSetnode

開始時是這樣的web

  <!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
  <IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/{machinename}/External/">
    <IncludeNodeTypes>
     </IncludeNodeTypes>
  </IndexSet>

這裏,因爲IncludeNodeTypes中沒有任何內容,全部在網站的搜索頁面上,搜索不出任何內容來。緩存

如今,我在裏面增長Include的node,更改後以下網站

  <IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/{machinename}/External/">
    <IncludeNodeTypes>
      <add Name="caseStudy" />
      <add Name="newsPage" />
      <add Name="eventPage" />
      <add Name="contactUsPage" />
      <add Name="contactUsMapPage" />
      <add Name="contactUsTalkPage" />
      <add Name="industryPage" />
      <add Name="product" />
      </IncludeNodeTypes>
  </IndexSet>

按道理,這個時候,在網站的搜索頁面上應該搜索出結果來,可是嘗試了不少次,依然仍是搜索不出任何內容來。ui

解決: 這個應該是緩存的問題,或者說是存儲在~/App_Data/TEMP...中的臨時文件的問題,應該文件是存在這裏的,你在ExamineIndex.config中更改了,可是~/App_Data/TEMP中的文件沒有可以同步更新this

解決方法是,進入Umbraco的back office,進入Developer,在右邊面板中找到第二個選項卡Examine Management, 找到你更改了的Index---ExternalIndexer, 點擊打開後,點擊"Rebuild Index". 以下圖spa

 

 

 這樣,這個問題就解決了code

 

可是,在作項目中又遇到問題了,由於咱們的項目web server (存放Umbraco web程序)和Auth server (存放Umbraco back office)是分開的, 在web程序中的back office是屏蔽了的,沒法訪問的.server

這樣,我更改了web程序中的config文件(/Config/ExamineIndex),可是沒法進入它的back office 去Rebuild index,怎麼辦呢blog

還有一種方法,由於從Config/ExamineIndex文件中,能夠看到Index文件是存放在~/App_Data/TEMP/ExamineIndexes/{machinename}/External/,顯然,它是臨時文件,裏面有個Index文件夾,

把裏面的內容所有刪除,重現進入web程序,打開網站,搜索,它就會從新生成一份新的了。

這樣,也就起效果了.

相關文章
相關標籤/搜索