enumeración IFILTER_INIT (filter.h)
[Servicio de indexación ya no se admite a partir de Windows XP y no está disponible para su uso a partir de Windows 8. En su lugar, use la búsqueda del lado cliente de Windows Search y Microsoft Search Server Express para la búsqueda del lado servidor.]
Marcas que controlan el proceso de filtrado.
Syntax
typedef enum tagIFILTER_INIT {
IFILTER_INIT_CANON_PARAGRAPHS = 1,
IFILTER_INIT_HARD_LINE_BREAKS = 2,
IFILTER_INIT_CANON_HYPHENS = 4,
IFILTER_INIT_CANON_SPACES = 8,
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 16,
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 32,
IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = 256,
IFILTER_INIT_INDEXING_ONLY = 64,
IFILTER_INIT_SEARCH_LINKS = 128,
IFILTER_INIT_FILTER_OWNED_VALUE_OK = 512,
IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = 1024,
IFILTER_INIT_DISABLE_EMBEDDED = 2048,
IFILTER_INIT_EMIT_FORMATTING = 4096
} IFILTER_INIT;
Constantes
IFILTER_INIT_CANON_PARAGRAPHS Valor: 1 Los saltos de párrafo deben marcarse con el SEPARADOR DE PÁRRAFO Unicode (0x2029). |
IFILTER_INIT_HARD_LINE_BREAKS Valor: 2 ¿Los retornos suaves, como el carácter de nueva línea de Word, deben reemplazarse por devoluciones duras? SEPARADOR DE LÍNEA (0x2028). Los retornos duros existentes se pueden duplicar. Un retorno de carro (0x000D), avance de línea (0x000A) o el retorno de carro y avance de línea en combinación deben considerarse un retorno duro. La intención es habilitar las coincidencias de expresión de patrón que coinciden con los saltos de línea observados. |
IFILTER_INIT_CANON_HYPHENS Valor: 4 Varios programas de procesamiento de texto tienen formas de guiones que no están representados en el juego de caracteres host, como guiones opcionales (que aparecen solo al final de una línea) y guiones no separados. Esta marca indica que los guiones opcionales se van a convertir en valores NULL y que los guiones no importantes se convertirán en guiones normales (0x2010) o HYPHEN-MINUSES (0x002D). |
IFILTER_INIT_CANON_SPACES Valor: 8 Al igual que la marca de IFILTER_INIT_CANON_HYPHENS estandariza los guiones, este normaliza los espacios. Todos los caracteres de espacio especiales, como los espacios sin separación, se convierten en el carácter de espacio estándar (0x0020). |
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES Valor: 16 Indica que el cliente quiere dividir texto en fragmentos que representan propiedades internas de tipo de valor. |
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES Valor: 32 Se deben emitir todas las propiedades no cubiertas por el IFILTER_INIT_APPLY_INDEX_ATTRIBUTES y las marcas de IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES. |
IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES Valor: 256 Indica que el cliente quiere dividir texto en fragmentos que representan propiedades determinadas durante el proceso de indexación. |
IFILTER_INIT_INDEXING_ONLY Valor: 64 Optimiza IFilter para la indexación porque el cliente llama al método IFilter::Init solo una vez y no llama a IFilter::BindRegion. Esto elimina la posibilidad de acceder a un fragmento tanto antes como después de acceder a otro fragmento. |
IFILTER_INIT_SEARCH_LINKS Valor: 128 El proceso de extracción de texto debe buscar recursivamente en todos los objetos vinculados del documento. Si un vínculo no está disponible, la llamada A IFilter::GetChunk que habría obtenido el primer fragmento del vínculo debería devolver FILTER_E_LINK_UNAVAILABLE. |
IFILTER_INIT_FILTER_OWNED_VALUE_OK Valor: 512 El proceso de indexación de contenido puede devolver valores de propiedad establecidos por el filtro. |
IFILTER_INIT_FILTER_AGGRESSIVE_BREAK Valor: 1024 TBD |
IFILTER_INIT_DISABLE_EMBEDDED Valor: 2048 TBD |
IFILTER_INIT_EMIT_FORMATTING Valor: 4096 TBD |
Comentarios
Por lo general, la salida de texto por el método IFilter::GetText debe coincidir exactamente con el texto real del documento. Sin embargo, para lograr la máxima interoperabilidad, es deseable cierta normalización de características comunes. Estas características incluyen saltos de párrafo, saltos de línea, guiones y espacios. Los servidores de interfaz IFilter también pueden insertar caracteres NULL en texto, que los clientes casi omiten. Es decir, el 0x0000 de caracteres Unicode se omite completamente y 0x0001 se trata como un salto de palabras.
Cuatro marcas controlan la normalización del texto: IFILTER_INIT_CANON_PARAGRAPHS, IFILTER_INIT_HARD_LINE_BREAKS, IFILTER_INIT_CANON_HYPHENS y IFILTER_INIT_CANON_SPACES.
Los distintos clientes de la interfaz IFilter quieren diferentes vistas de un objeto. Tres marcas, IFILTER_INIT_APPLY_INDEX_ATTRIBUTES, IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES y IFILTER_INIT_APPLY_OTHER_ATTRIBUTES, controlan el conjunto de propiedades que se deben aplicar a fragmentos. Además, se pueden solicitar propiedades específicas en llamadas al método IFilter::Init como una matriz de tamaño cAttributes, almacenadas en aAttributes.
Las implementaciones de la interfaz IFilter deben almacenar información de fragmentos cuando se producen operaciones distintas de la indexación de contenido. IFILTER_INIT_INDEXING_ONLY optimiza el filtro para la indexación.
Con fines de visualización, puede ser conveniente buscar entre vínculos, así como en el documento y en cualquier objeto que inserte. IFILTER_INIT_SEARCH_LINKS especifica la búsqueda recursiva de todos los vínculos.
Algunas implementaciones de interfaz IFilter podrían generar valores de propiedad durante el proceso de indexación de contenido y IFILTER_INIT_FILTER_OWNED_VALUE_OK indica que es correcto devolver estos valores.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | filter.h |