网络爬虫不会创建自定义抓取属性。

3
最近我遇到了一个奇怪的问题。我有一个MOSS 2007 SP 2和WS 2008的开发环境,我已经配置好了搜索,并且一切都很正常。我开始配置暂存环境(MOSS 2007 SP2 with June CU),创建新农场和新SSP。我使用打包(wsp)部署了我的更改,并手动创建了网站集合、子网站、页面等等。
当填充爬网完成后,我在爬网日志中看到所有页面都被成功爬取,并且当我使用一些测试工具查询搜索时,我的页面也被找到了。在爬网日志中有一些错误,例如: http://mysite/sites/de/pages “爬虫程序无法与服务器通信。检查服务器是否可用,并正确配置防火墙访问。”,但是这个页面库中的所有页面都被索引了。
问题是,我在搜索查询中使用自定义托管属性(映射到自定义爬取属性),但爬虫程序没有为我所有的新站点列创建爬取属性。例如,对于站点列IsAccent,爬虫程序没有创建cralwed属性ows_isAccesnt。我确定我已经为特定内容类型创建了页面,所有我的爬取类别都已勾选“每次爬网时自动发现新属性”。在网站设置-> 可搜索列中,我没有选择任何列作为Nocrowl。
我尝试将我的托管属性和爬取属性从dev环境导出到stage环境,但所有我的托管属性都是空的,之后我重新创建了SSP...结果还是一样...
我检查了特定页面的工具(如Sharepoint Manager 2007和U2U Caml Query Builder 2007),发现内容类型正确,并且我可以看到我自定义站点列的值...在U2U Caml Query Builder 2007中使用某个页面库的Result选项卡,我可以看到ows_IsAccent(我的站点列是IsAccent)和其他站点列,但我找不到它们的爬取属性。
有什么建议吗?
2个回答

0

查看站点列的定义,SharePoint倾向于为提升为站点列的字段创建加密的内部名称。

您可以使用类似解决方案生成器(VSeWSS)或SharePoint Manager 2007(codeplex)的工具来检查站点列并找出它们的内部名称。

例如,这里有一个提升为站点列的字段称为“内部描述”,以及表单库的xml字段定义(来自schema.xml):

    <Field ID="c8607d76_x002d_f648_x002d_47a8_x002d_a189_x002d_8fb8e7e8d18c" 
                Name="c8607d76_x002d_f648_x002d_47a8_x002d_a189_x002d_8fb8e7e8d18c" 
                DisplayName="Internal Description" 
                Required="FALSE" 
                SourceID="{3FF10E1F-FA95-417c-963D-518F272E2E43}"     
                StaticName="c8607d76_x002d_f648_x002d_47a8_x002d_a189_x002d_8fb8e7e8d18c" 
                ReadOnly="TRUE" Group="Microsoft Office InfoPath" 
                Node="/my:System/my:Internal_Description" Version="1"></Field>

这导致了一个名为c8607d76_x002d_f648_x002d_47a8_x002d_a189_x002d_8fb8e7e8d18c的爬取属性。


嗨Tom, 感谢您的回复。我已经使用功能创建了我的站点列,因此我知道字段的确切内部名称。我通过更改SSP中的索引服务器找到了解决方法,在多次尝试后,我的爬行属性被发现......我找不到任何逻辑。 - user173739

0

你的使用新站点列的列表/库中是否有任何项目?

为了使您的站点列出现在元数据属性的添加映射对话框中,您必须至少有一个使用该列的项目。

添加一个项目,然后运行增量爬取。


是的,我的列表中有很多项,它们使用了我的自定义内容类型,并且我的自定义站点列中有数据。 - user173739
您能否确认这些项目是否出现在搜索结果中(不一定指元数据字段填充)?您尝试过重置索引并从头开始进行完整的抓取吗? - Kit Menke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接