Recientemente, estoy estudiando cómo almacenar e indexar usando Solr. Quiero hacer una búsqueda faceta.prefijo. Con el tokenizador de espacio en blanco, "Where are you" se dividirá en tres palabras y se indexará. Si busco facet.prefix = "where are", no se devolverá ningún resultado.Cómo usar NGramTokenizerFactory o NGramFilterFactory?
Yo google y encontré NGramFilterFactory puede ayudarme. Pero cuando aplico esta fábrica de filtros, encontré que el resultado es "w, h, e, ..., wh, ..", que divide la oración por carácter, no por palabra simbólica.
Utilizo los parámetros maxGramSize y minGramSize, establecido en 1 y 3. ¿Funciona NGramFilterFactory, verdad? ¿Debo agregar algunos otros parámetros? ¿Hay algunas otras fábricas de filtros que pueden ayudarme?
Gracias!
Sí, así es exactamente como funciona ngram. ¿En qué contexto estás usando facet.prefix? –
No es una respuesta para usted, sino una aclaración. NGram trabaja en personajes individuales. Puede tomar la palabra "gato" y cortarla en fichas como "c", "a", "t", "ca", "at" y "cat". * Parece * que puede estar queriendo lo que se llama tokenizador de tejas, que funciona de manera muy similar, pero a nivel de palabra en lugar de a nivel de personaje. – rfeak
Hola Mauricio, quiero usar facet.prefix para autocompletar. Con el método predeterminado, las tres palabras se indexarán por separado. Al hacer una búsqueda facet.prefix, por supuesto, la búsqueda de "w" devolverá "where", pero al buscar "where", no se devolverá nada. Entonces quiero agregar los tokens para indexados. – user572485