Estoy usando Elasticsearch y escribiendo mi propio contenedor usando WebRequest, ya que NEST (la opción habitual) parece desconcertantemente carecer de la capacidad de insertar un elemento y devolver el ID generado.¿Cómo excluyo el contenido HTML de mi índice elasticsearch?
De todos modos, no hay problemas con el método general. Sin embargo, cualquier contenido HTML se indexa tal como está, es decir, si tengo <strong>test</strong>
en un campo, la búsqueda de la consulta "fuerte" devuelve el elemento.
He puesto esto en elasticsearch.yml, en base a un puesto de azar tablero de mensajes que encontré:
index:
analysis:
analyzer:
htmlContentAnalyzer:
type: custom
tokenizer: standard
filter: standard
char_filter: html_strip
Entonces, crear una asignación thusly de mi índice 'contenido', tipo de elemento 'noticias' :
PUT http://localhost:9200/content/news/_mapping
{
"news" : {
"properties" : {
"TextContent" : {
"type" : "string",
"index" : "analyzed",
"analyzer" : "htmlContentAnalyzer",
"store" : "yes"
}
}
}
}
}
El store
/yes
es sólo para "diversión", no hace ninguna diferencia. Lo anterior me da un 200 OK.
Sin embargo, la búsqueda arroja los mismos resultados.
Lo que no ayuda es que la documentación de elasticsearch parece espantosa. Echa un vistazo a esta página:
http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html
le da un breve resumen de lo que es la cartografía, y dice más detalles están en la sección de asignación, es decir esta página:
http://www.elasticsearch.org/guide/reference/mapping/
.. .que parece ser realmente terrible No hay nada que se refiera al formato/gráfico de objetos que encontré, sin mencionar "propiedades", "tipo", "analizador", "índice", etc. Hay algunas secciones en el menú a la derecha, p. "_index", pero parecen referirse al ítem como un todo? ¿Y dónde se señala eso?
Así que mi pregunta es en dos frentes:
- ¿Cómo dejo de etiquetas HTML (y entidades, valores de atributos supongo) que se indexen? - Todavía quiero el HTML almacenado, cuenta
- ¿Hay alguna fuente mejor para la información/documentación de búsqueda elastica? ¿O lo estoy mirando sin las gafas decodificadoras súper secretas?
¿Vueltas? Solo puedo adivinar porque digo que la documentación es horrible. Bueno, lo es, ¿no? Al menos tengo las bolas para dejar un comentario si estoy cometiendo un error/malentendido –