3

在搜索使用 Windows 桌面搜索索引的文件时,如果我能在文档中看到与搜索文本相关的文本片段,那就太好了。但是,当我尝试检索“System.Search.QueryFocusedSummary”或“System.Search.QueryFocusedSummaryWithFallback”时,出现“未找到列名”错误。

(我用来查询的代码显示在这个问题中: Microsoft Desktop Search - CONTAINS not return results on windows server 2008

这很令人困惑,因为当您在资源管理器中进行搜索时,您会在结果中获得文本片段。所以以某种方式是可能的。

根据此文档http://msdn.microsoft.com/en-us/library/windows/desktop/bb760171%28v=vs.85%29.aspx 它应该是可检索的,与 AutoSummary 相同。

这个问题已经在 MSDN 上被问过了:

http://social.msdn.microsoft.com/Forums/en-US/windowsdesktopsearchdevelopment/thread/dcfb40ea-b250-4294-80d0-727c7365745e/

但我希望聪明的stackoverflow人能帮助我。

作为旁注,我很困惑为什么这不起作用,很多人不需要索引和搜索文档吗?每个人都使用 Lucene 和/或 Solr 或 Windows Search Server 吗?

4

2 回答 2

1

我的一个同事最近遇到了这个问题。QueryFocusedSummary 和 QueryFocusedSummaryWithFallback 确实无法通过 OLEDB 访问。但是,它们可以通过 Shell 访问。

在 Windows SDK 中,有一个示例 ,$WIN_SDK/Samples/winui/shell/appplatform/ExplorerBrowserSearch它将帮助您设置使用 Shell 函数执行搜索。PKEY_Search_QueryFocusedSummary从这里开始,通过 Shell 属性键分别添加对 QueryFocusedSummary和QueryFocusedSummaryWithFallback 的支持应该是微不足道的PKEY_Search_QueryFocusedSummaryWithFallback

于 2014-08-21T16:23:15.500 回答
0

由于您没有发布任何代码,因此我不得不推测一下...

我假设您正在使用 OleDB/SQL 执行查询...

也不QueryFocusedSummaryQueryFocusedSummaryWithFallback真正的列,因此不能通过 OleDB/SQL 获得!

这种方式唯一可用的列是 AFAIK

AutoSummary 
Contents 
EntryID 
GatherTime 
Rank 
Store 

QueryFocusedSummary并且可以通过COM 或 Shell 接口QueryFocusedSummaryWithFallback访问 IIRC 属性。

于 2012-01-20T20:08:05.197 回答