Windows Search - подсветка поискового запроса IFilter - PullRequest
9 голосов
/ 14 октября 2010

У моей команды разработчиков возникла проблема с отображением фрагментов текста для результатов поиска в Windows 7 для наших собственных пользовательских файлов (обратите внимание, что мы НЕ говорим о панели предварительного просмотра, которая использует интерфейс IPreviewHandler).Пример того, что я имею в виду для файлов .txt, показан ниже:

Search example

Текстовый фрагмент, показанный здесь с выделенным результатом, не показан для наших собственных файлов, только имяфайл есть.

Мы внедрили IFilter для наших файлов, и он правильно индексирует содержимое файла (поиск возвращает правильные результаты).Он просто не показывает фрагмент и не выделяет поисковый термин.

Мы подозревали, что это может быть связано с cwcStartSource и значениями cwcLenSource для STAT_CHUNK в IFilter, но установка этих значений на другие пока ничего не дала..

У кого-нибудь еще был подобный опыт или есть мысли?

Заранее спасибо.

1 Ответ

5 голосов
/ 19 октября 2010

Вам необходимо сгенерировать обработчик предварительного просмотра для вашего типа файла.

Он также может отображать расширенные предварительные просмотры элементов в панели предварительного просмотра без запуска приложения по умолчанию, если приложение зарегистрировало обработчик предварительного просмотра.,Это может обеспечить такие функциональные возможности, как специфичная для типа файла навигация (например, просмотр презентации с использованием следующего / предыдущего элемента управления или поиск внутри медиа-файла).Обработчики предварительного просмотра также могут разрешать определенные виды выбора (например, выделение фрагмента текста) из самой панели предварительного просмотра.

source

Существует множество примеров кода для PDF-файлов и тому подобного.

Взгляните сюда: CodePlex: пакет обработчика предварительного просмотра Windows

Редактировать :

Чтобы уточнить, панель результатов поискав Windows 7 есть хост-обработчик предварительного просмотра.Он состоит из двух основных частей: представление содержимого и панель предварительного просмотра.

Проводник Windows также включает режим просмотра, называемый представлением содержимого, который является видом по умолчанию при просмотре результатов поиска.В представлении «Содержимое» отображаются имя, местоположение, некоторые теги метаданных, связанные с файлом, миниатюрное изображение файла и фрагмент файла.В этом режиме просмотра также используется выделение совпадений, чтобы показать, где термин запроса появляется в файлах, что позволяет легко понять, почему этот файл был возвращен в списке результатов поиска.

source

Вам необходим обработчик предварительного просмотра для любых пользовательских типов файлов, если вам нужны расширенные функциональные возможности, такие как просмотр содержимого файла для вашего пользовательского типа файла.

В Windows Vista и более поздних версиях Windows Search интегрирован во все окна Windows Explorer для мгновенного доступа к поиску.

...

Обработчики предварительного просмотра и миниатюры позволяют пользователямдля предварительного просмотра документов в проводнике без необходимости открывать приложение, в котором они были созданы.

source

Чтобы убедиться, что вы правильно внедрили свой пользовательский тип файла, вы можете попробовать Verifier File Type Verifier из Windows7 SDK, который будет проверять следующие вещи, связанные с вашим пользовательским файлом:

  • Обработчики предварительного просмотра
  • Обработчики миниатюр
  • Обработчики свойств
  • Обработчики глаголов
  • Фильтры (IFilter)
  • Добрые ассоциации
  • Воспринимаемые типы
  • Важные свойства

Использование представления содержимого

Вы можете воспользоваться представлением контента, используя любой из двух разных подходов.Вы можете использовать существующий набор свойств и шаблон макета, или вы можете создать свою собственную комбинацию.Эти два подхода подробно описаны:

Общий обзор представления содержимого см. в этой статье:

Просмотр содержимого по файлуТип или вид

...