我正在使用此处列出的代码:
http://msdn.microsoft.com/en-us/library/ms553069.aspx
在设置属性后添加一行作为对.update()的调用以保存更改,但即使权重为10,000,我的属性的搜索结果仍然在底部,特别是在标题下方。是否还有其他一些事情需要做才能使权重得以传播?
我还尝试将标题,作者和文件名设置为0,将属性(关键字)设置为9999,并将属性的长度标准化设置为0.结果稍微移位,但搜索匹配的关键字该物业仍然不匹配。
之后所有测试都进行了完全爬网,重置IIS并回收共享服务应用程序池。
我可以向您提供您可能要求的任何额外信息。
谢谢, 斯蒂芬
更新(6-19-09):为此增加了500的赏金。关于这个功能的在线信息很少,显然是一个很好的答案,将为互联网社区提供巨大的服务。这也许可以让我节省一周时间。)
更新2(6-19-09):架构基本上是这样的:OOB sharepoint文档内容类型,添加了文本字段“关键字”。附加到ows_keywords(文本)的托管属性。
更新3(6-19-09):Codeplex的Sharepoint Search Bench帮助了很多搜索。
更新4(6-19-09):我已经找到了一个解决方案,该解决方案涉及使用相同的已爬网属性创建许多(现在为5个)更多托管属性。每个重量设置为不寻常的(如9999)。这些足以将关键字结果提升到顶部。但不太理想。仍在寻找解决方案。
Update 4中的解决方案就是我最终的解决方案。正如Lars评论的那样,搜索不是很灵活,尽管对房产权重进行了调整,但效果并不总是如你所愿。
答案 0 :(得分:1)
查看属性的权重不需要重新抓取,只需重置搜索服务。
在互联网上找到这个:
除了设置托管属性的权重之外,映射到托管属性的已爬网属性还必须设置“在搜索索引中包含此属性的值”复选框。
编辑:在此处找到它:Larry Kuhn's blog
答案 1 :(得分:1)
您是否尝试仅使用0到1范围内的权重?例如,将所有其他属性权重设置为0.2,并将关键字设置为0.8。我在这些方面遇到了Lucene的一点麻烦,而且它与量级有关。
此外,如果它永远不会在该属性字段中添加点击结果(尝试添加xyzzy
关键字或其他内容并搜索它),那么它可能根本不是权重相关,而是与关键字是否相关考虑你的搜索。
答案 2 :(得分:1)
当您搜索属性中存在的关键字时,该属性仅对排名分数产生积极影响。对于任何其他查询,重量没有任何影响!例如。当搜索关键字“SharePoint搜索”时,标题属性权重确保对于在标题中具有这些关键字的文档提高排名分数。但标题中没有任何这些关键字的文档不会受到标题权重的提升。这适用于text类型的所有托管属性。
答案 3 :(得分:0)
假设在main()结束时完成.update()调用,我是否正确?如果没有,请尝试,如果是,请确保程序正在运行。我还假设strPropertyName是你想要的。除此之外,我无法真正帮助你。