Crawler不会创建自定义爬网属性

时间:2009-09-15 13:50:14

标签: sharepoint moss web-crawler

这些天我遇到了一个非常奇怪的问题。我有MOSS 2007 SP 2和WS 2008的开发环境,我已经配置了搜索,一切都很好。我已经开始配置登台环境(带有June CU的MOSS 2007 SP2)并创建新的服务器场和新的SSP。我已经使用package(wsp)部署了我的更改,并手动创建了网站集,子网页,页面等。 当填充爬网完成时,我在爬网日志中看到我的所有页面都已成功抓取,当我使用一些测试工具查询搜索时,我的页面已被找到。在爬网日志中,几乎没有错误 http://mysite/sites/de/pages “爬虫无法与服务器通信。请检查服务器是否可用以及是否正确配置了防火墙访问..”,但此页库中的所有页面都已编制索引。

问题是我在搜索查询中使用自定义托管属性(映射到自定义已爬网属性),但爬网程序没有为我的所有新网站列创建已爬网属性。例如,对于站点列IsAccent,爬网程序未创建cralwed属性ows_isAccesnt。我确定我已经为特定内容类型创建了页面,并且我的所有抓取类别都选中了“在抓取发生时自动发现新属性”。在网站设置中 - >可搜索的列我没有选择任何列作为Nocrowl。 我尝试将我的托管和已爬网属性从开发环境导出到舞台环境,但所有托管属性都是空的,之后我重新创建了SSP ...结果是相同的......

我使用Sharepoint Manager 2007和U2U Caml Query Builder 2007等内容类型正确的工具检查了特定页面,我可以看到自定义网站列的值....使用U2U Caml Query Builder 2007再次使用一些页面库结果选项卡我可以看到ows_IsAccent(我的站点列是IsAccent)和其他站点列,但我在Crawled属性中找不到它们。

任何idias?

2 个答案:

答案 0 :(得分:0)

使用新网站列的列表/库中是否包含任何项目?

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

添加项目,然后运行增量爬网。

答案 1 :(得分:0)

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

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

例如,这是一个提升到名为Internal Description的站点列的字段和表单库的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