• Umbraco中更换IndexSet中的NodeType后,搜索页面没有做出对应更改的效果


    在项目开发中,使用ExternalSearcher,有一个ExamineIndex.config文件中存放ExternalIndexSet

    开始时是这样的

      <!-- 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>

    按道理,这个时候,在网站的搜索页面上应该搜索出结果来,但是尝试了很多次,依然还是搜索不出任何内容来。

    解决: 这个应该是缓存的问题,或者说是存储在~/App_Data/TEMP...中的临时文件的问题,应该文件是存在这里的,你在ExamineIndex.config中更改了,但是~/App_Data/TEMP中的文件没有能够同步更新

    解决方法是,进入Umbraco的back office,进入Developer,在右边面板中找到第二个选项卡Examine Management, 找到你更改了的Index---ExternalIndexer, 点击打开后,点击"Rebuild Index". 如下图

     这样,这个问题就解决了

    但是,在做项目中又遇到问题了,因为我们的项目web server (存放Umbraco web程序)和Auth server (存放Umbraco back office)是分开的, 在web程序中的back office是屏蔽了的,无法访问的.

    这样,我更改了web程序中的config文件(/Config/ExamineIndex),但是无法进入它的back office 去Rebuild index,怎么办呢

    还有一种方法,因为从Config/ExamineIndex文件中,可以看到Index文件是存放在~/App_Data/TEMP/ExamineIndexes/{machinename}/External/,显然,它是临时文件,里面有个Index文件夹,

    把里面的内容全部删除,重现进入web程序,打开网站,搜索,它就会重新生成一份新的了。

    这样,也就起效果了.

  • 相关阅读:
    Javascript 之 存储
    Javascript 之 跨域
    Javascript 之 Ajax
    Javascript 之 事件
    流程控制语句
    JS属性操作
    JS效果的步骤
    遍历Map的四种方法
    自动删除ftp自动保存的密码
    IE6下png格式透明图片显示灰色的解决办法.
  • 原文地址:https://www.cnblogs.com/wphl-27/p/6097176.html
Copyright © 2020-2023  润新知