Share via


Controladores de filtro que se envían con Windows

Microsoft proporciona varios filtros estándar con Windows Search. Los clientes llaman a estos controladores de filtro (que son implementaciones de la interfaz IFilter ) para extraer texto y propiedades de un documento.

Este tema se organiza de la siguiente manera:

Notas de implementación de Windows Search

En Windows 7 y versiones posteriores, los filtros escritos en código administrado se bloquean explícitamente. Los filtros deben escribirse en código nativo debido a posibles problemas de control de versiones clR con el proceso en el que se ejecutan varios complementos.

Implementación de Windows 7 y 10

En Windows 7 y versiones posteriores, hay un nuevo comportamiento que se produce al registrar un controlador de filtro, un controlador de propiedades o una nueva extensión. Cuando se instala un nuevo controlador de propiedades o un controlador de filtro, los archivos con las extensiones correspondientes se vuelven a indexar automáticamente.

En Windows 7 y versiones posteriores, se recomienda instalar un controlador de filtro junto con sus controladores de propiedades correspondientes y registrar el controlador de filtros antes del controlador de propiedades. El registro del controlador de propiedades inicia la reindización inmediata de los archivos indizado previamente sin necesidad de reiniciar primero y aprovecha los controladores de filtros registrados previamente para la indexación de contenido.

Si solo se instala un controlador de filtros sin un controlador de propiedades correspondiente, la reindización automática se produce después de reiniciar el servicio de indexación o de reiniciar el sistema.

Para obtener marcas de descripción de propiedades específicas de Windows 7, consulta los siguientes temas de referencia: GETPROPERTYSTOREFLAGS, PROPDESC_COLUMNINDEX_TYPE y PROPDESC_SEARCHINFO_FLAGS.

Implementación de Windows Vista

En Windows Vista y versiones anteriores, la instalación de un IFilter o un controlador de propiedades no inicia una nueva indexación de los elementos existentes a menos que un proveedor de software independiente (ISV) llame explícitamente a una recompilación o reindización de direcciones URL coincidentes.

Hay dos diferencias principales entre las aplicaciones heredadas, como Indexing Service y las aplicaciones más recientes, como Windows Search, que debe tener en cuenta al implementar filtros:

  • Uso de la interfaz IPersistStream .
  • Uso de controladores de propiedades.

En primer lugar, Windows Vista y Windows Search 3.0 y versiones posteriores requieren que use IPersistStream por los siguientes motivos:

  • Para garantizar el rendimiento y la compatibilidad futura.
  • Para ayudar a aumentar la seguridad. Los filtros implementados con IPersistStream son más seguros porque el contexto en el que se ejecuta el filtro no necesita los derechos para abrir archivos en el disco o a través de la red.

Aunque Windows Search solo usa IPersistStream, también puedes incluir las implementaciones de IPersistFile Interface o IPersistStorage Interface en los filtros por compatibilidad con versiones anteriores.

La segunda diferencia principal es que Windows Vista y Windows Search 3.0 y versiones posteriores tienen un nuevo sistema de propiedades que usa controladores de propiedades para enumerar las propiedades de los elementos.

Sin embargo, hay ocasiones en las que es necesario implementar un filtro que controle tanto el contenido como las propiedades para:

  • Admite implementaciones de MSSearch heredadas.
  • Recorrer vínculos.
  • Conservar la información del idioma.
  • Filtre de forma recursiva los elementos incrustados.

En estas situaciones, necesita una implementación de filtro completa, incluido el método IFilter::GetValue para tener acceso a los valores de propiedad.

Implementación heredada

Como se indicó anteriormente, Windows Vista y Windows Search incluyen un nuevo sistema de propiedades que encapsula las propiedades de un elemento que es independiente del contenido de un elemento. Este sistema de propiedades no existe en versiones anteriores de Microsoft Windows Desktop Search (WDS) 2.x. Si el filtro debe admitir otras aplicaciones como se ha descrito anteriormente, es posible que tenga que controlar tanto el contenido como las propiedades.

Para obtener más información sobre el desarrollo de un filtro compatible, consulte los temas siguientes, IFilter (para aplicaciones heredadas) y Developing Filter Add-ins (for legacy applications)).

Filtros de Windows Search

Microsoft proporciona varios filtros estándar con Windows Search. El contenido de la DLL de IFilter se resume en la tabla siguiente. Al hacer clic en el nombre de un controlador de filtro, se le lleva a la descripción de esa implementación de IFilter .

Controlador de filtros Archivos filtrados IFilter DLL
Controlador de filtros MIME Extensión multipropósito de correo de Internet (MIME) mimefilt.dll
Controlador de filtros HTML HTML 3.0 o versiones anteriores nlhtml.dll
Controlador de filtro de documento Microsoft Word, Excel, PowerPoint offfilt.dll
Controlador de filtro de texto sin formato Archivos de texto sin formato: IFilter predeterminado query.dll
Controlador de filtro binario o nulo Archivos binarios: IFilter nulo query.dll

Controlador de filtros MIME

El controlador de filtros MIME (en mimefilt.dll) extrae información de texto y propiedad de los archivos con las extensiones .eml, .mht y .mhtml.

Controlador de filtros HTML

El controlador de filtro HTML (en nlhtml.dll) extrae información de texto y propiedad de la clase "htmlfiles" para que Windows Search pueda indexarla. Para obtener una descripción de la asociación entre IFilter y el tipo de archivo, vea "Buscar la DLL de IFilter para un archivo" en Registrar controladores de filtro.

Puede usar la META característica de etiqueta de documentos HTML para transmitir solicitudes de control especiales al IFilter HTML. META las etiquetas se producen cerca del principio de un archivo HTML dentro de las HEAD ... /HEAD etiquetas, como se muestra en el ejemplo siguiente.

   <head>
     <META NAME="DESCRIPTION"
           CONTENT="This text appears on the results page as the document's summary.">
   </head>

Algunas etiquetas HTML META se asignan automáticamente a valores conocidos del conjunto de propiedades y el identificador de propiedad (identificador de propiedad (PID) para que las consultas en estas propiedades busquen el contenido asignado. En la tabla siguiente se muestran algunos ejemplos. Para obtener una lista de las propiedades del sistema que puede usar para los formatos de archivo, vea Propiedades definidas por el sistema para formatos de archivo personalizados.

Ejemplo de propiedad Asignada a
meta name="author" content="ruth" Propiedad author del conjunto de propiedades Información de resumen.
meta name="subject" content="word processing" Propiedad subject del conjunto de propiedades Información de resumen.
meta name="keywords" content="fonts, serif" Propiedad de palabra clave del conjunto de propiedades Información de resumen.
meta name="ms.category" content="fiction" Propiedad category del conjunto de propiedades Información de resumen del documento.

Algunas características del IFilter HTML se enumeran en la tabla siguiente.

Tarea Acción Ejemplo
Creación de resúmenes especiales a partir de archivos Use la META NAME="DESCRIPTION"... etiqueta para indicar al IFilter que use la cadena que sigue a la CONTENT palabra clave como resumen del documento.

Nota:
El proceso de filtrado puede generar resúmenes para cada archivo filtrado, que de forma predeterminada es un conjunto de caracteres al principio del archivo.


<head>
  <META NAME="DESCRIPTION" CONTENT="This text will appear on the results page as the document's summary.">
</head>
 
Impedir que se filtren archivos individuales Agregue una meta name etiqueta al archivo.
  <meta name="robots" content="noindex">
Establecer el código de idioma de un archivo (para asegurarse de que el sistema elige los separadores de palabras de idioma correctos y los archivos de palabras irrelevantes) Agregue la siguiente meta name etiqueta al archivo, donde el campo de contenido especifica el código de idioma adecuado (ya sea en caracteres o mediante el valor de configuración regional).
<meta name="ms.locale" content="EN">
<meta name="ms.locale" content=1033>

Controlador de filtro de documento

El controlador de filtro de documentos (en offilt.dll) filtra los archivos para algunas extensiones de documentos en Microsoft Office. Estos incluyen archivos con las extensiones .doc, .mdb, .ppt y .xlt, por ejemplo.

Controlador de filtro de texto sin formato

En el caso de los archivos de texto sin formato, Windows Search usa el controlador de filtro de texto, que filtra las propiedades del sistema (como los nombres de archivo) y el contenido de un archivo. Cuando un tipo de archivo no tiene una asociación IFilter en el registro, Windows Search solo indexa las propiedades de Shell del archivo. Sin embargo, el usuario puede usar las opciones avanzadas del panel de control Opciones de indexación para indexarpropiedades o propiedades de índice y contenido del archivo.

captura de pantalla que muestra el cuadro de diálogo Opciones avanzadas

Si el usuario elige esta opción para un tipo de archivo sin un IFilter asociado, el controlador de filtro de texto se usa para extraer el contenido del archivo. El controlador de filtros de texto no "entiende" ningún formato de documento; al filtrar el contenido de un archivo, trata el archivo como una secuencia de caracteres. Comprueba la marca de orden de bytes Unicode al principio del archivo.

Controlador de filtro binario o nulo

Cuando se encuentra un archivo binario registrado, se usa el controlador de filtro null. El controlador de filtro null recupera solo las propiedades del sistema. El contenido de un archivo binario no se filtra. Algunos ejemplos de propiedades del sistema son FileName, LastWriteTime, FileSize y Attributes.

Recursos adicionales

Desarrollo de controladores de filtros

Acerca de los controladores de filtro en Windows Search

Procedimientos recomendados para crear controladores de filtro en Windows Search

Devolver propiedades de un controlador de filtros

Implementación de controladores de filtro en Windows Search

Registro de controladores de filtro

Probar controladores de filtro