Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| info:cursos:openwebinars:elk:elasticsearch:api-dslquery [29/11/2021 12:51] – creat mate | info:cursos:openwebinars:elk:elasticsearch:api-dslquery [02/12/2021 09:51] (actual) – mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| = ELK: elasticsearch (API y DSLQuery) | = ELK: elasticsearch (API y DSLQuery) | ||
| {{ : | {{ : | ||
| + | * API = Application Programming Interface. Capa abstracción funciones ofrecidas por la apliación | ||
| + | |||
| + | == Cluster APIs | ||
| + | * **Health**: '' | ||
| + | * status | ||
| + | * green: todos los shard bien | ||
| + | * yellow: no están bien las réplicas | ||
| + | * red: shard primario no indexado | ||
| + | * **Stats**: '' | ||
| + | * estadísticas del cluster (número de shards, almacenamiento, | ||
| + | * información sobre los nodos (cantidad, roles, os, JVM, memoria, cpu, plugins) | ||
| + | * **Info**: '' | ||
| + | * Información de todos los nodos del cluster. | ||
| + | * '' | ||
| + | * información concreta de uno de los nodos | ||
| + | * nombre de host, puerto http, IP, OS, procesos, plugins... | ||
| + | |||
| + | == Documents APIs | ||
| + | * Index: | ||
| + | * añade o actualiza un documento específico | ||
| + | * < | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }"</ | ||
| + | * bdd: twitter | ||
| + | * documento: 1 | ||
| + | * formato: json | ||
| + | * Get: | ||
| + | * permite consultar documentos JSON de un índice con su ID | ||
| + | * < | ||
| + | * Delete: | ||
| + | * eliminar documentos con su ID | ||
| + | * < | ||
| + | * Update: | ||
| + | * actualiza la información de un documento. Consulta, actualiza y vuelve a indexar | ||
| + | * < | ||
| + | ' | ||
| + | { | ||
| + | " | ||
| + | }'</ | ||
| + | |||
| + | == Search APIs | ||
| + | * URI: | ||
| + | * en la propia consulta: < | ||
| + | * < | ||
| + | * cuerpo completo:< | ||
| + | -H ' | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }'</ | ||
| + | * Templates: | ||
| + | * plantillas para búsquedas repetidas y complejas, cambiando parámetros | ||
| + | * < | ||
| + | application/ | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } } '</ | ||
| + | * Shards API | ||
| + | * devuelve los índices y shards sobre los que se ejecutará la búsqueda. No hace la búsqueda en sí. | ||
| + | * útil para búsqueda de errores u optimización de rendimiento | ||
| + | * < | ||
| + | * | ||
| + | == Index APIs | ||
| + | * Create: se pueden crear múltiples índices, incluyendo operaciones | ||
| + | * < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } } }'</ | ||
| + | * new_index | ||
| + | * Delete: | ||
| + | * < | ||
| + | * ojo con parámetros **_all** o **%%*%%** | ||
| + | * parámetro **action.destructive_requires_name: | ||
| + | * Open/Close | ||
| + | * un índice cerrado no sobrecarga el cluster | ||
| + | * < | ||
| + | curl -XPOST ' | ||
| + | * Mapping: | ||
| + | * devuelve el mapping que se está realizando sobre un índice | ||
| + | * < | ||
| + | * se obtiene información sobre los campos. | ||
| + | * el mapping hace un mapeo de los campos para declararlos y posteriormente poder acceder de una manera más organizada a la información: | ||
| + | * Stats: | ||
| + | * estadísticas de los índices de diferentes operaciones | ||
| + | * < | ||
| + | * cantidad de documentos, almacenamiento, | ||
| + | |||
| + | == query DSL | ||
| + | * usar JSON para definir consultas DSL (Lenguaje de Dominio Específico) | ||
| + | * **query context**: calcula un _score que representa cómo de bien un documento hace match con la consulta en comparación con el resto (incluso podemos decirle que porcentaje de score permitimos) | ||
| + | * match all: score 1.0 (100%)< | ||
| + | H ' | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }'</ | ||
| + | * match: < | ||
| + | H ' | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } } } '</ | ||
| + | * regexp: | ||
| + | * permite usar expresiones regulares. regexp pesadas pueden provocar un gran consumo de recursos | ||
| + | * < | ||
| + | ' | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } } } '</ | ||
| + | * **filter context**: Solo sí o no coíncide con la consulta | ||
| + | * filtros usados a menudo se cachean para mejorar rendimiento | ||
| + | |||