Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Elastic Search
Uh ! Elastic Search
@marcossegovia
Shay Banon liberó la primera versión
de ES en 2010
Motor de búsqueda basado en Apache Lucene
Vamos a escalar
?
Apache Lucene
Librería hecha en Java útil para cualquier aplicación que
requiera indexado y búsqueda a texto completo
Op...
Cómo se está vendiendo?
Cómo se está vendiendo?
Cómo se está vendiendo?
Características
Búsquedas sobre Apache Lucene (Motor búsqueda Java)
Full Text Search
Distribuido
Multi-Entorno
API REST
JS...
Asentemos la terminología
Realtime Engine significa Propagación
Cluster significa Colección de Nodes
Node significa un server...
Básicamente para que?
Indexar toda la información para que pueda ser
buscada de manera óptima.
Esta vez VOLCANDO la inform...
DataTypes
String
Full text string
Keywords string
Numeric
long
integer
Date
Boolean
Complex
Object
Array
Nested
Geo
Specia...
Searching
Leaf query clause
Búsqueda de un valor en un campo
Compound query clause
Combinan Leaf queries u otras Compound ...
Searching
Query Context
Filter Context
“¿Como de bien ‘matchea’ este Document en mi
query clause?”
“¿Matchea este Document...
Searching
Full text queries
match estándar query
match_phrase como match, pero con múltiples palabras
match_phrase_prefix c...
Searching
No sólo full text queries…
term level query
geo querycompound query
joining query
term
range
bool
constant_score...
Ejemplo molón
Referencia: https://www.elastic.co/guide/en/elasticsearch/reference/current/
query-filter-context.html
POST /...
Pero…
no os he dicho toda la verdad.
Y la verdad es…
QUE VOY A GANAR LA PORRA !
nah… la verdad es que existen
los Analyzers
Analyzers
El proceso de analysis es simplemente llevar el texto a
términos o tokens hacia el índice de ES.
El proceso lo a...
Analyzers
Standard
Analyzer
Aggregations
Misma query, danos internet
Distribución y Escalabilidad
Distribución y Escalabilidad
ElasticSearch from the bottom up - EuroPython 2014
Lucene index - Elastic index 13:30
Planific...
Todo esto y más en…
Effective Elastic Search
https://gist.github.com/MarcosSegovia/c4f9585d0450791470485c68514acc05
Migrac...
Por cada pregunta se crea un Order nuevo para mañana
Si queréis más, saco el Postman
Introducción a ElasticSearch
Introducción a ElasticSearch
Introducción a ElasticSearch
Introducción a ElasticSearch
Introducción a ElasticSearch
Introducción a ElasticSearch
Introducción a ElasticSearch
Introducción a ElasticSearch
Nächste SlideShare
Wird geladen in …5
×

Introducción a ElasticSearch

327 Aufrufe

Veröffentlicht am

Introducción a Elasticsearch

Veröffentlicht in: Ingenieurwesen
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Introducción a ElasticSearch

  1. 1. Elastic Search Uh ! Elastic Search @marcossegovia
  2. 2. Shay Banon liberó la primera versión de ES en 2010 Motor de búsqueda basado en Apache Lucene Vamos a escalar
  3. 3. ? Apache Lucene Librería hecha en Java útil para cualquier aplicación que requiera indexado y búsqueda a texto completo Open source Con la gente de Apache Foundation dando soporte Funcionando desde el 1999
  4. 4. Cómo se está vendiendo?
  5. 5. Cómo se está vendiendo?
  6. 6. Cómo se está vendiendo?
  7. 7. Características Búsquedas sobre Apache Lucene (Motor búsqueda Java) Full Text Search Distribuido Multi-Entorno API REST JSON Request/Response
  8. 8. Asentemos la terminología Realtime Engine significa Propagación Cluster significa Colección de Nodes Node significa un server que forma parte de UN Cluster Index significa Colección de Documents bajo mismos o distintos Types Type significa Categoría/Entidad/Clase Document significa Unidad Básica de Información
  9. 9. Básicamente para que? Indexar toda la información para que pueda ser buscada de manera óptima. Esta vez VOLCANDO la información, real e idéntica. Sí, ES soporta cualquier DataType
  10. 10. DataTypes String Full text string Keywords string Numeric long integer Date Boolean Complex Object Array Nested Geo Specialized … Geo Point Geo Shape IPv4 … string …
  11. 11. Searching Leaf query clause Búsqueda de un valor en un campo Compound query clause Combinan Leaf queries u otras Compound queries de manera lógica
  12. 12. Searching Query Context Filter Context “¿Como de bien ‘matchea’ este Document en mi query clause?” “¿Matchea este Document en mi query clause?” Performance: Filtros usados frecuentemente serán cacheados por ElasticSearch “filter”: { } “query”: { }
  13. 13. Searching Full text queries match estándar query match_phrase como match, pero con múltiples palabras match_phrase_prefix como match_phrase pero intenta autocompletar la última palabra multi_match estándar query contra múltiples campos
  14. 14. Searching No sólo full text queries… term level query geo querycompound query joining query term range bool constant_score … nested … … exists has_child
  15. 15. Ejemplo molón Referencia: https://www.elastic.co/guide/en/elasticsearch/reference/current/ query-filter-context.html POST /_search Filter Context No afecta al scoring total Query Context Calculará un scoring sobre los que cumplan Compound
 Query Leaf
 Query
  16. 16. Pero… no os he dicho toda la verdad. Y la verdad es… QUE VOY A GANAR LA PORRA ! nah… la verdad es que existen los Analyzers
  17. 17. Analyzers El proceso de analysis es simplemente llevar el texto a términos o tokens hacia el índice de ES. El proceso lo aplica un analyzer específico cuando: Se indexan nuevos documentos Se realiza una búsqueda El analyzer a utilizar se puede especificar en la misma query o en el mapping del índice
  18. 18. Analyzers Standard Analyzer
  19. 19. Aggregations Misma query, danos internet
  20. 20. Distribución y Escalabilidad
  21. 21. Distribución y Escalabilidad ElasticSearch from the bottom up - EuroPython 2014 Lucene index - Elastic index 13:30 Planifica los shardings con previsión 16:17 Por defecto: 1 índice se crea con 5 shards y 1 réplica El número de replicas se puede cambiar dinámicamente, los shards no Por tanto, 10 shards.
  22. 22. Todo esto y más en… Effective Elastic Search https://gist.github.com/MarcosSegovia/c4f9585d0450791470485c68514acc05 Migración de Sphinx a Elastic Search https://gist.github.com/MarcosSegovia/edcc2b766eede8ddc2409e59f10e43c3 Directorio en Postman con múltiples ejemplos.

  23. 23. Por cada pregunta se crea un Order nuevo para mañana Si queréis más, saco el Postman

×