最近一个站点,需要开启搜索功能,然后创建内容源,开始爬网,发现列表里只有一部分被索引,很多项目没有被索引,甚是奇怪,如下图(其实列表里有80几条项目)。

SharePoint 搜索功能,列表项目不能完全被索引

  首先爬网账号是系统账号、服务器管理员,所以觉得账号权限不存在问题;毕竟SharePoint的搜索爬网,就是用当前账号的权限去爬网,展示的时候,再按照当前账号去过滤的。

  然后想到的就是爬网规则,自己也没有设置过,试着把这个列表按照规则include进来,然后reindex后执行完全爬网,没用。

  然后把列表reindex、站点reindex、加托管属性、整个爬网服务reindex,都没有效果。

  然后把站点备份还原到另一个uat环境,爬网,依然同样的问题。

  经过一系列折腾,不经意间发现列表项目的状态是pending,然后试着approved一下,发现可以被index了(好吧,我觉得系统账号、服务器场管理员也会索引到draft的项目,是我一厢情愿了,其实SharePoint不是这样设计的)。

SharePoint 搜索功能,列表项目不能完全被索引

  然后,发现列表设置的版本设置里面,有这么个选项,“Draft Item Security”,勾选第一个就可以了,但是所有人都可以看到draft的项目,至此,问题已经有眉目了。有两个选择,让所有看draft,然后爬网都会被收录;要么就把所有的项目都approved了,爬网也会收录。

  我很想吐槽一下,其实我勾选的是第三个,然后爬网不能index,其实爬网账号真的有权限干这个,就是不index项目,这就是设计上的问题了。

  不死心的继续谷歌(昨天已经谷歌一天了),发现这样一篇描述,“Draft items are not crawled in ”(https://support..com/en-us/kb/2304855),好吧,是我自己out了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注