2012-01-11 3 views
3

При поиске файлов, индексированных с использованием Windows Desktop Search, было бы неплохо, если бы я мог видеть фрагмент текста в документе , который связан с текстом поиска. Однако, когда я пытаюсь установить , вы получите «System.Search.QueryFocusedSummary» или «System.Search.QueryFocusedSummaryWithFallback». Я получаю ошибку «0 name name not found» .Windows Desktop Search не возвращается QueryFocusedSummary

(код, который я использую для запроса это показано в этом вопросе: Microsoft Desktop Search - CONTAINS not returning 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?

ответ

0

Поскольку вы не отправлял никакого кода я должен спекулировать немного ...

Я предполагаю, что вы используете OleDB/SQL для выполнения запроса ...

Ни QueryFocusedSummary, ни QueryFocusedSummaryWithFallback реальны столбцы и, следовательно, НЕ доступны через OleDB/SQL!

Единственные доступные столбцы таким образом, являются AFAIK

AutoSummary 
Contents 
EntryID 
GatherTime 
Rank 
Store 

QueryFocusedSummary и QueryFocusedSummaryWithFallback являются IIRC свойства accessiable через COM or a Shell interface.

+0

Спасибо за вашу помощь. Есть ссылка на код, который я использую в вопросе. Также в соответствии с документацией msdn, с которой я связан, я не вижу, как autosummary отличается от QueryFocusedSummary. Что такое собственность IIRC? – Rocklan

+0

@LachlanB IIRC = «Если я правильно помню» ... свойство является термином COM, в то время как AutoSummary является столбцом (доступным через SQL). QueryFocusedSummary доступен только через COM. проверьте ссылку, которую я предоставил, есть много материала для чтения ... – Yahia

+0

@LachlanB Код, на который вы ссылаетесь, используется CONTAINS - я мог бы что-то игнорировать, но в ссылке не упоминается QueryFocusedSummary ...по крайней мере, это подтверждает мое мышление о том, что вы используете SQL ... – Yahia

1

Недавно мой коллега столкнулся с этой проблемой. QueryFocusedSummary и QueryFocusedSummaryWithFallback действительно недоступны через OLEDB. Однако они доступны через Shell.

В SDK Windows есть образец, $WIN_SDK/Samples/winui/shell/appplatform/ExplorerBrowserSearch, который поможет вам настроить функции Shell для выполнения поиска. Отсюда должно быть тривиально добавить поддержку QueryFocusedSummary и QueryFocusedSummaryWithFallback через ключи свойств оболочки PKEY_Search_QueryFocusedSummary и PKEY_Search_QueryFocusedSummaryWithFallback соответственно.

+0

Я пытаюсь реализовать это в своем приложении C#, и для примера кода C++ мне сложно следовать. Можете ли вы уточнить, что нужно сделать, чтобы получить «QueryFocusedSummary»? – anon