zoukankan      html  css  js  c++  java
  • 解决SharePoint文档库文件在搜索结果页面显示的标题和文档的标题不一致问题(search result)

    问题表现:

    SharePoint 2013 爬网后,搜索一个文档,虽然搜到了,但是显示有点问题,如图:

    原因分析:

    造成该问题的原因是,该文档除了本身有一个名称外,在文档metadata的title属性也有一个标题,常见于模板文档。查看metadata标题的方法是。右键文档---属性----Detail

    而sharepoint在爬网的时候,会优先爬取metadata中的这个title.

    解决方法:

    第一步: 安装sharepoint sp1补丁,然后在管理中心的Search service application中设置search schema中编辑title属性,然后将MetadataExtractorTitle放在最下面,如下图所示,这样做的目的是在爬网的时候不适用metadata 中的title. 然后点击保存,启动全爬。

    你以为事情就这样结束了吗?

    哥满心欢喜以为事情就这样解决了,但是在做完上面这些哥发现搜索结果还是那样,并没有改变。日了什么了。经过细致排查,发现在文档库中有两个field是关于文档名的,一个是name,另一个是title.而在你上传文档的时候,sharepoint会自动将matadate中的title赋值给文档库中的title 列。而讲过上述修改,搜索结果只是显示了文档库中的title属性。

    第二步:是文档库中的name和Title保持一致。方法有很多:方法一:可以用eventhandler(亲测好用),但是会加重服务器的负担。

        方法二:用designer编写一个contenttype的可重用的工作流,然后让工作流去同步标题。但是如果文档库需要check out,工作流会出问题,不推荐

        方法三:写一个exe,然后定时去跑一下。优点不占用服务器资源,缺点是定时的,不是随时的。

        方法四:修改SharePoint item display template. 哥尝试修改但是没有达到理想的效果,遂放弃,你得修改所有文件格式的display template,较繁琐。哪位有识之士可            以试一试,并且劳烦把结果告诉我。

    总结:SharePoint问题真是防不胜防啊。代码改变世界

  • 相关阅读:
    【转载】时域信号的频谱、功率谱和功率谱密度计算
    【转载】Chaotic Time-Series Prediction
    【转载】Restarting an analysis in ANSYS
    Interpolation in MATLAB
    【转载】ANSYS 动力分析 (9)
    在oracle中 将一个以逗号隔开的String字符串转换成以单引号逗号隔开的集合
    在java中获取时间,单位毫秒。主要用于查看执行时间效率
    比较两个数组元素是否相等
    oracle 从一张表的数据复制到另一张表中 mapper.xml
    打印错误栈信息:可以捕获具体错误信息
  • 原文地址:https://www.cnblogs.com/cwyang/p/4952160.html
Copyright © 2011-2022 走看看