在項目開發中,使用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程序,打開網站,搜索,它就會從新生成一份新的了。
這樣,也就起效果了.