我在 MOSS 设置中遇到了问题,增量爬取后,搜索结果会损坏。使用搜索 Web 服务进一步排除故障,生成的 XML 如下所示:
<ResponsePacket xmlns="urn:Microsoft.Search.Response">
<Response domain="QDomain">
<Range>
<StartAt>1</StartAt>
<Count>20</Count>
<TotalAvailable>34</TotalAvailable>
<Results>
<Document xmlns="urn:Microsoft.Search.Response.Document">
<Action>
<LinkUrl />
</Action>
<Properties xmlns="urn:Microsoft.Search.Response.Document.Document">
<Property>
<Name>RANK</Name>
<Type>Int64</Type>
<Value>1000</Value>
</Property>
</Properties>
</Document>
<Document xmlns="urn:Microsoft.Search.Response.Document">
<Action>
<LinkUrl />
</Action>
<Properties xmlns="urn:Microsoft.Search.Response.Document.Document">
<Property>
<Name>RANK</Name>
<Type>Int64</Type>
<Value>1000</Value>
</Property>
</Properties>
</Document>
...
...
...
...
...
</Results>
</Range>
<Status>SUCCESS</Status>
</Response>
</ResponsePacket>
换句话说,它说它可以找到 34 个匹配项,但返回空白数据。重置搜索内容,进行完全抓取,一切工作了一天左右,然后又损坏了。02:00 完全抓取,每 20 分钟增量抓取一次,在 Win2003 x86 上运行 MOSS v12.0.0.6300。抓取日志文件没有显示任何有趣的信息。
有人有什么想法吗?
答案1
所以,看来我找到了解决方案或修复方法。一只小鸟在我耳边低声说要应用最新的 MOSS 服务包,我照做了。
现在该网站已经运行了 20 多天,没有出现任何搜索损坏问题,所以我几乎可以肯定地说 SP2 已经解决了这个问题。
答案2
这可能是底层 SQL Server 搜索数据库损坏(最有可能是由 I/O 子系统问题引起的)。尝试在搜索数据库上运行以下 SQL Server 命令 - 如果它给出任何结果,则表示您有损坏问题(发布结果,我可以为您解释 - 我写了 DBCC CHECKDB)。
DBCC CHECKDB (searchdbname) WITH ALL_ERRORMSGS, NO_INFOMSGS
希望这能有所帮助(并且不是你的问题 :-)