3

Windowsデスクトップ検索を使用してインデックス付けされたファイルを検索する場合、検索テキストに関連するドキュメント内のテキストのスニペットが表示されると便利です。ただし、「System.Search.QueryFocusedSummary」または「System.Search.QueryFocusedSummaryWithFallback」を取得しようとすると、「列名が見つかりません」というエラーが発生します。

(これを照会するために使用しているコードは、この質問に示されています: Microsoft DesktopSearch-CONTAINSはWindowsServer2008で結果を返しません

エクスプローラー内で検索を実行すると、結果にテキストのスニペットが表示されるため、これは混乱を招きます。だからそれはどういうわけか可能です。

このドキュメントhttp://msdn.microsoft.com/en-us/library/windows/desktop/bb760171%28v=vs.85%29.aspx によると、AutoSummaryと同じように取得可能である必要があります。

この質問は、MSDNのMSDNですでに質問されています。

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

しかし、私は賢いスタックオーバーフローの人々が私を助けてくれることを望んでいます。

ちなみに、なぜこれが機能しないのかについてはかなり混乱しています。多くの人がドキュメントのインデックスを作成して検索する必要はありませんか?代わりに、LuceneやSolr、またはWindows Search Serverを使用していますか?

4

2 に答える 2

1

私の同僚が最近この問題に遭遇しました。QueryFocusedSummary と QueryFocusedSummaryWithFallback は、実際には OLEDB 経由ではアクセスできません。ただし、シェル経由でアクセスできます。

Windows SDK には、$WIN_SDK/Samples/winui/shell/appplatform/ExplorerBrowserSearchシェル関数を使用して検索を実行するように設定するためのサンプルがあります。PKEY_Search_QueryFocusedSummaryここから、シェル プロパティ キーとPKEY_Search_QueryFocusedSummaryWithFallbackそれぞれを介して QueryFocusedSummary と QueryFocusedSummaryWithFallback のサポートを追加するのは簡単です。

于 2014-08-21T16:23:15.500 に答える
0

コードを投稿していないので、少し推測する必要があります...

OleDB/SQL を使用してクエリを実行していると思います...

どちらQueryFocusedSummaryQueryFocusedSummaryWithFallback実際の列ではないため、OleDB/SQL 経由では使用できません。

この方法で利用できる唯一の列はAFAIKです

AutoSummary 
Contents 
EntryID 
GatherTime 
Rank 
Store 

QueryFocusedSummaryおよびCOM またはシェル インターフェイスQueryFocusedSummaryWithFallback経由でアクセスできる IIRC プロパティです。

于 2012-01-20T20:08:05.197 に答える