Documente Academic
Documente Profesional
Documente Cultură
nos permite indexar un gran volumen de datos para poder hacer consultas sobre ellos
posteriormente. Esta desarrollado en JAVA de cdigo abierto. Las capacidades de bsqueda de
texto completo es a travs de una API web RESTful.
Le permite almacenar, buscar y analizar grandes volmenes de datos de forma rpida y casi en
tiempo real.
Se utiliza para bsqueda de texto completo, bsqueda estructurada, anlisis y los tres en
combinacin:
Aqu hay algunos ejemplos de casos de uso para los que Elasticsearch podra usarse:
Dirige una tienda web en lnea donde permite a sus clientes buscar productos que
vende. En este caso, puede usar Elasticsearch para almacenar todo su catlogo de
productos e inventario y proporcionarles sugerencias de bsqueda y autocompletar.
Desea recopilar datos de registro o transaccin y desea analizar y extraer estos datos
para buscar tendencias, estadsticas, resmenes o anomalas. En este caso, puede usar
Logstash (parte de la pila Elasticsearch / Logstash / Kibana) para recopilar, agregar y
analizar sus datos, y luego Logstash debe alimentar estos datos en Elasticsearch. Una
vez que los datos estn en Elasticsearch, puede ejecutar bsquedas y agregaciones
para extraer cualquier informacin que sea de su inters.
Usted ejecuta una plataforma de alerta de precios que permite a los clientes expertos
en precios especificar una regla como "Estoy interesado en comprar un gadget
electrnico especfico y quiero recibir una notificacin si el precio del gadget cae por
debajo de $ X de cualquier proveedor en el prximo mes". . En este caso, puede raspar
los precios de los proveedores, insertarlos en Elasticsearch y utilizar su capacidad de
bsqueda inversa (Percolator) para ajustar los movimientos de precios contra las
consultas de los clientes y eventualmente enviar las alertas al cliente una vez que se
encuentren las coincidencias.
Tiene necesidades analticas / de inteligencia empresarial y desea investigar, analizar,
visualizar y hacer preguntas ad-hoc rpidamente sobre una gran cantidad de datos
(piense en millones o miles de millones de registros). En este caso, puede usar
Elasticsearch para almacenar sus datos y luego usar Kibana (parte de la pila
Elasticsearch / Logstash / Kibana) para construir paneles personalizados que puedan
visualizar aspectos de sus datos que son importantes para usted. Adems, puede usar
la funcionalidad de agregaciones de Elasticsearch para realizar consultas complejas de
inteligencia empresarial en contra de sus datos.
Qu caractersticas tiene?
Arquitectura distribuida.
Escalabilidad: Gracias a su diseo nos permite escalar de forma horizontal e ir
escalando nuestros servidores segn nuestras necesidades.
Alta disponibilidad: Los clusters de ElasticSearch son capaces de detectar qu nodos
estn fallando y reorganizarse para hacer que los datos sean siempre accesibles.
Multi-Tenant Permite operar sobre mltiples ndices a la vez.
No utiliza esquemas: Permite trabajar sin una estructura fija de base de datos.
Orientado a documentos: Las entidades de Elasticsearch se almacenan como archivos
JSON estructurados donde todos los campos son indexados y podemos incluir todos
los ndices en una misma consulta.
Centrado en API's Expone casi todas sus funcionalidades va APIs REST.
Gestin de conflictos: Previene la prdida de datos al editar simultneamente los
registros.
Arquitectura
Para que quede un poco mas claro vamos a realizar una comparacin con una base de datos
relacional SQL
Database Elastisearch
database index
table type
row Document
schema mapping
SQL query DSL
Nodo
Un nodo es un servidor que forma parte del clster, almacena los datos, y participa en las
capacidades de indexacin y bsqueda del cluster.
Indice
Tipo
Documento
Un documento es una unidad bsica de informacin que puede ser indexado. Este documento
se expresa en JSON (JavaScript Object Notation), que es un formato de intercambio de datos
de Internet ubicua.
Y qu puede hacer?
Shard(Fragmento ) y rplicas
Un ndice puede almacenar una gran cantidad de datos que puede exceder los lmites de
hardware de un solo nodo.
Para resolver este problema, Elasticsearch ofrece la posibilidad de subdividir el ndice en varios
trozos llamados fragmentos. Cuando se crea un ndice, slo tiene que definir el nmero de
fragmentos que desee. Cada fragmento es en s mismo un ndice totalmente funcional e
independiente que se puede alojar en cualquier nodo del clster.
* Proporciona alta disponibilidad en caso de que falle un fragmento/nodo. Por esta razn, es
importante tener en cuenta que un fragmento de rplica no se asigna en el mismo nodo que
el fragmento primario/original que fue copiado.
Ventajas
Se podran enumerar varias ventajas que brinda esta herramienta. Algunas de las ms
destacables son las siguientes:
Al estar desarrollado en Java, es sumamente compatible con casi todas las plataformas.
Esta distribuido, lo que lo hace fcilmente escalable y adaptable a las distintas situaciones.
Utiliza objetos JSON como respuesta, por lo que es fcil de invocar a partir de varios lenguajes
de programacin.
Desventajas