type tokenizer standard text elasticsearch tokenize

text - standard - elasticsearch tokenizer



Recuperar tokens analizados de los documentos de ElasticSearch (3)

Echa un vistazo a esta otra respuesta: elasticsearch - Devuelve los tokens de un campo . Lamentablemente, es necesario volver a analizar el contenido de su campo utilizando el script proporcionado.
Debería ser posible escribir un complemento para exponer esta característica. La idea sería agregar dos puntos finales a:

  • permite leer el Terminos de Términos de lucene como lo hace el TerminosComponente, lo TermsComponent es útil para realizar auto-sugerencias también. Tenga en cuenta que no sería por documento, sino por cada término del índice con frecuencia de término y frecuencia de documento (potencialmente costoso con muchos términos únicos)
  • permite leer los vectores de términos si están habilitados, como lo hace el solr TermVectorComponent . Esto sería por documento pero requiere almacenar los vectores de términos (puede configurarlo en su mapeo) y también permite recuperar posiciones y compensaciones si está habilitado.

Intentar acceder al texto analizado / tokenizado en mis documentos ElasticSearch.

Sé que puede usar Analyze API para analizar texto arbitrario según sus módulos de análisis. Así que pude copiar y pegar datos de mis documentos en Analyze API para ver cómo se convirtió en token.

Sin embargo, esto parece innecesariamente lento. ¿Hay alguna manera de ordenar a ElasticSearch que devuelva el texto tokenizado en los resultados de búsqueda? Revisé los documentos y no encontré nada.


Es posible que desee utilizar secuencias de comandos, sin embargo, su servidor debe tener activada la secuencia de comandos.

curl ''http://localhost:9200/your_index/your_type/_search?pretty=true'' -d ''{ "query" : { "match_all" : { } }, "script_fields": { "terms" : { "script": "doc[field].values", "params": { "field": "field_x.field_y" } } } }''

La configuración predeterminada para permitir la secuencia de comandos depende de la versión de búsqueda elástica, por lo que debe verificarla en la documentación oficial.


Esta pregunta es un poco antigua, pero tal vez creo que es necesaria una respuesta adicional.

Con ElasticSearch 1.0.0, se agregó la API de Vector a Término, que le da acceso directo a los tokens ElasticSearch almacena bajo el capó por documento. Los documentos API no son muy claros al respecto (solo se mencionan en el ejemplo), pero para utilizar la API primero debe indicar en su definición de mapeo que desea almacenar vectores de términos con la propiedad term_vector en cada campo.