如何从Windows搜索获取搜索结果片段

时间:2018-06-20 20:27:03

标签: c# c++ .net windows search

我的目标是从Windows Search API(资源管理器使用的同一内容)中获取结果摘要(也称为查询偏爱的摘要)。

类似的帖子:

我的重点是System.Search.QueryFocusedSummary属性(https://msdn.microsoft.com/en-us/library/windows/desktop/bb760171(v=vs.85).aspx),因为它是应该提供我所需要的唯一(半)文档化字段。如果只使用.NET(C#)或C ++本机代码可行,我愿意采用不同方法。

我有一个使用C ++实现的有效搜索工具,该工具成功使用OLE DB API进行搜索 本地Windows计算机(假设已启用索引编制)并返回诸如System.ItemNameSystem.MIMETypeSystem.Size等结果。 还可以获得System.Search.AutoSummary字段,该字段基本上只是人类可读文件的前N个字符(例如UNIX head)。有关更多信息,请参见this Microsoft page

If I understand correctly,在System.Search.QueryFocusedSummary属性是“虚拟”的意义上,它是由Windows(在某个时间点)动态创建的,并且不存储在Index数据库中。因此,无法使用OLE DB方法访问它。

尽管Microsoft正式“退出”了Windows API代码包,但是此页面(及其链接的其他页面)描述了如何使用Windows Search SDK。我遵循了de facto Windows API Code Pack repository中的Search App示例,并添加了QueryFocusedSummary属性来代替现有的提取属性之一。这没有任何效果,并且所有搜索结果的属性 still 为空。

是否有人对如何从Windows Search API获取搜索摘要有任何见解?我只关心本地客户端Windows搜索

0 个答案:

没有答案