Tengo un problema acerca de las compensaciones termvector Lucene que es cuando analicé un campo con mi analizador de encargo que dará a las compensaciones no válidos para termvector pero está bien con el analizador estándar, aquí es mi código analizador dejava lucene analizador personalizado y tokenizer creando un problema en las compensaciones de termvector?
public class AttachmentNameAnalyzer extends Analyzer {
private boolean stemmTokens;
private String name;
public AttachmentNameAnalyzer(boolean stemmTokens, String name) {
super();
this.stemmTokens = stemmTokens;
this.name = name;
}
@Override
public TokenStream tokenStream(String fieldName, Reader reader) {
TokenStream stream = new AttachmentNameTokenizer(reader);
if (stemmTokens)
stream = new SnowballFilter(stream, name);
return stream;
}
@Override
public TokenStream reusableTokenStream(String fieldName, Reader reader) throws IOException {
TokenStream stream = (TokenStream) getPreviousTokenStream();
if (stream == null) {
stream = new AttachmentNameTokenizer(reader);
if (stemmTokens)
stream = new SnowballFilter(stream, name);
setPreviousTokenStream(stream);
} else if (stream instanceof Tokenizer) {
((Tokenizer) stream).reset(reader);
}
return stream;
}
}
¿Qué pasa con esta "Ayuda requerida"
Dado que este código no hace nada relacionado con los desfases de términos, debe publicar uno que sí lo haga. P.ej. su AttachmentNameTokenizer? – Earwin
ok el código del tokenizer está aquí – Badr
Parece totalmente inocente hasta el momento. Más código, ejemplos exactos de entrada + salida (con compensaciones rotas) requeridos :) Sin embargo, iría a la lista de correo de usuarios de lucene. – Earwin