SlideShare a Scribd company logo
1 of 139
“ Cool, Bonsai, Cool” An introduction to Clinton Gormley, YAPC::EU 2011
Why do I need a search engine?
 
 
 
Search is how we find stuff
 
 
How does a search engine work?
 
Acme:: Magic 8Ball  Acme:: Magic ::Pony  Config:: Magic   File:: Magic   File::MimeInfo:: Magic   File::M Magic ::XS  Magic Template  Meta::File::M Magic   MRO:: Magic   Template:: Magic   Template:: Magic ::Pager  Test:: Magic   XS:: Magic Ext  XS::Object:: Magic
Magic ==  inverted index + relevance scoring
Acme::Magic8Ball  Acme::Magic::Pony  Config::Magic  File::Magic  File::MimeInfo::Magic  File::MMagic::XS  MagicTemplate  Meta::File::MMagic  MRO::Magic  Template::Magic  Template::Magic::Pager  Test::Magic  XS::MagicExt  XS::Object::Magic  Take some text
Acme::Magic8Ball  Acme::Magic::Pony  Config::Magic  File::Magic  File::MimeInfo::Magic  File::MMagic::XS  MagicTemplate  Meta::File::MMagic  MRO::Magic  Template::Magic  Template::Magic::Pager  Test::Magic  XS::MagicExt  XS::Object::Magic  Tokenise it
acme  magic 8 ball  acme  magic pony  config  magic  file  magic  file mime info  magic  file m magic xs  magic template  meta  file m magic  mro  magic  template  magic  template  magic pager  test  magic  xs  magic ext  xs  object  magic  Tokenise it
acme  magic 8 ball  acme  magic pony  config  magic  file  magic  file mime info  magic  file m magic xs  magic template  meta  file m magic  mro  magic  template  magic  template  magic pager  test  magic  xs  magic ext  xs  object  magic  Find unique tokens/terms
8 acme ball config ext file info m magic Find unique tokens/terms meta mime mro object pager pony template test xs
acme file magic mime template xs Acme::Magic8Ball Acme::Magic::Pony File::Magic File::MimeInfo::Magic MagicTemplate Template::Magic Template::Magic::Pager XS::Object::Magic XS::MagicExt  File::MMagic::XS Map terms to documents
acme file magic mime template xs Acme::Magic8Ball Acme::Magic::Pony File::Magic File::MimeInfo::Magic MagicTemplate Template::Magic Template::Magic::Pager XS::Object::Magic XS::MagicExt  File::MMagic::XS Search for: “ file xs ”
Search for: “ file xs ” acme file magic mime template xs Acme::Magic8Ball Acme::Magic::Pony File::Magic File::MimeInfo::Magic MagicTemplate Template::Magic Template::Magic::Pager XS::Object::Magic XS::MagicExt  File::MMagic::XS
But, not just about finding
 
Sort by RELEVANCE
Relevance: How many matching terms does  this document contain?
Relevance: How often does each term appear in  this  document, as a % of its length?
Relevance: How frequently does each term appear in  all your documents ?
Relevance: Can be customised
Relevance: Can be customised By document or field
Relevance: Can be customised By document or field At index or search time
Simple as: C an be customised B y document or field A t index or search time
FAST!
POWERFUL!
MAGIC!
 
 
 
www.elasticsearch.org
elasticsearch is:
elasticsearch is: ,[object Object]
elasticsearch is: ,[object Object]
distributed
elasticsearch is: ,[object Object]
distributed
RESTful
elasticsearch is: ,[object Object]
distributed
RESTful
search engine
elasticsearch is: ,[object Object]
distributed
RESTful
search engine
built on top of Lucene
Installing elasticsearch: Latest version at:  http://www.elasticsearch.org/download/  wget https://github.com/.../elasticsearch-0.17.6.tar.gz  tar -xzf  elasticsearch-0.17.6.tar.gz  cd elasticsearch-0.17.6/ ./bin/elasticsearch
Installing ElasticSearch.pm: Latest version at:  https://metacpan.org/module/ElasticSearch cpanm ElasticSearch perl -de 0 > use ElasticSearch;  > $e = ElasticSearch->new( trace_calls => 1) > $e->cluster_health
Some terminology Relational DB elasticsearch
Some terminology Relational DB elasticsearch database ⇒ index
Some terminology Relational DB elasticsearch database ⇒ index table ⇒ type
Some terminology Relational DB elasticsearch database ⇒ index table ⇒ type row ⇒ document
Some terminology Relational DB elasticsearch database ⇒ index table ⇒ type row ⇒ document column ⇒ field
Some terminology Relational DB elasticsearch database ⇒ index table ⇒ type row ⇒ document column ⇒ field schema ⇒ mapping
Some terminology Relational DB elasticsearch database ⇒ index table ⇒ type row ⇒ document column ⇒ field schema ⇒ mapping index ⇒ everything is indexed
Some terminology Relational DB elasticsearch database ⇒ index table ⇒ type row ⇒ document column ⇒ field schema ⇒ mapping index ⇒ everything is indexed SQL ⇒ query DSL
Clustering
Clustering auto-discovery
Clustering single master auto-elected
Clustering immediate failover master re-election
Clustering index ==
Clustering index == 1 or more primary shards
Clustering index == 1 or more primary shards + 0 or more replica shards
Clustering more primary shards
Clustering ⇒  faster indexing ⇒  more scale more primary shards
Clustering ⇒  faster indexing ⇒  more scale more primary shards more replicas
Clustering ⇒  faster indexing ⇒  more scale ⇒  faster searching ⇒  more failover more primary shards more replicas
Clustering Big subject... http://www.elasticsearch.org/videos/2011/08/09/road-to-a-distributed-searchengine-berlinbuzzwords.html http://berlinbuzzwords.de/sites/ berlinbuzzwords.de/files/elasticsearch-bbuzz2011.pdf
Document oriented:
Document oriented: No ORM required
Document oriented: JSON in  ⇔  JSON out
Schema free Dynamic mapping
Schema free Dynamic (or strict) mapping
Unknown field?
elasticsearch guesses the type
elasticsearch guesses the type and indexes it
Put data in: $e->index( );
Put data in: $e->index( index  => 'twitter', );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1,  );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1, #  optional );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1, #  ES always returns the ID );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1,  data  => { } );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1,  data  => { tweet => “ElasticSearch is cool”,  } );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1,  data  => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  } );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1,  data  => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123   }, } );
Put data in: $e->index( index  => 'twitter', type  => 'tweet', id  => 1,  data  => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123 }, tags  => [“search”,”perl”], } );
Realtime GET
Retrieve your doc immediately
Persistent
No commit required
Get data out: $e->get( index  => 'twitter', type  => 'tweet', id  => 1);
Get data out: $e->get( index  => 'twitter', type  => 'tweet', id  => 1);  { _index  => 'twitter',  _type  => 'tweet', _id  => 1, }
Get data out: $e->get( index  => 'twitter', type  => 'tweet', id  => 1);  { _index  => 'twitter',  _type  => 'tweet', _id  => 1, _version  => 1, }
Get data out: $e->get( index  => 'twitter', type  => 'tweet', id  => 1);  { _index  => 'twitter',  _type  => 'tweet', _id  => 1, _version  => 1, _source  => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123 }, tags  => ['search','perl'], } }
bulk-indexing
bulk-indexing multi-get
bulk-indexing multi-get avoids http latency
bulk-indexing multi-get avoids http latency 10x as fast!
Versioning
Versioning “ Optimistic currency control”
Versioning “ Put if absent”
Versioning Optional
Versioning Can use external version numbers
So far, all we have is a NoSQL document store which is  fast, reliable, scalable & easy to use
So far, all we have is a NoSQL document store which is  fast, reliable, scalable & easy to use
 
Simple search $e->search(  index  => 'twitter', type  => 'tweet', );
Simple search $e->search(  index  =>  ['twitter','facebook'] , type  =>  ['tweet','post'] , );
Simple search $e->search(  #  all indices #  all types );
Simple search $e->search(  index  => 'twitter', type  => 'tweet', query  => {  } );
Simple search $e->search(  index  => 'twitter', type  => 'tweet', query  => { text => { _all => 'clinton' } } );
Simple search $e->search(  index  => 'twitter', type  => 'tweet', query b => 'clinton' );
Simple search $e->search(  index  => 'twitter', type  => 'tweet', query b => 'clinton' #  ElasticSearch::SearchBuilder, #  like SQL::Abstract );
Search results { took => 1, hits => { total  => 1, max_score => 1, hits  => [{ _score  => 1, _index  => 'twitter', _type  => 'tweet', _id  => 1, _source => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123 }, tags  => ['search','perl'],  } }], }, ... other information ... }
Search results { took => 1,  # milliseconds hits => { total  => 1, max_score => 1, hits  => [{ _score  => 1, _index  => 'twitter', _type  => 'tweet', _id  => 1, _source => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123 }, tags  => ['search','perl'],  } }], }, ... other information ... }
Search results { took => 1, hits => { total  => 1,  # total results max_score => 1, hits  => [{ _score  => 1, _index  => 'twitter', _type  => 'tweet', _id  => 1, _source => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123 }, tags  => ['search','perl'],  } }], }, ... other information ... }
Search results { took => 1, hits => { total  => 1, max_score => 1, hits  => [{ _score  => 1, _index  => 'twitter', _type  => 'tweet', _id  => 1, _source => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123 }, tags  => ['search','perl'],  } }], }, ... other information ... }
Search results { took => 1, hits => { total  => 1, max_score => 1, hits  => [{ _score  => 1, _index  => 'twitter', _type  => 'tweet', _id  => 1, _source => { tweet => “ElasticSearch is cool”,  sent  => “2011-08-16 15:15:00”,  user  => {  name  => “Clinton”, user_id => 123 }, tags  => ['search','perl'],  } }], }, ... other information ... }
JSON doc included in results
No need to fetch from DB
Docs visible to search in near-real time  (< 1 second)
refresh_index()  to force
What can you do with search?
standard text search
...with highlighting
stemming
stemming arabic, armenian, basque, brazilian, bulgarian, catalan, chinese, cjk, czech, danish, dutch, english, finnish, french, galician, german, german2, greek, hindi, hungarian, indonesian, italian, kp, light_finish, light_french, light_german, light_hungarian, light_italian, light_portuguese, light_russian, light_spanish, light_swedish., lovins, minimal_english, minimal_french, minimal_german, minimal_portuguese, norwegian, persian, porter, porter2, portuguese, possessive_english, romanian, russian, spanish, swedish, thai, turkish
ngrams & edge-ngrams
auto-complete
camelCase
camelCase

More Related Content

What's hot

Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)
Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)
Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)
Sematext Group, Inc.
 

What's hot (20)

Elasticsearch Introduction at BigData meetup
Elasticsearch Introduction at BigData meetupElasticsearch Introduction at BigData meetup
Elasticsearch Introduction at BigData meetup
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Elasticsearch: You know, for search! and more!
Elasticsearch: You know, for search! and more!Elasticsearch: You know, for search! and more!
Elasticsearch: You know, for search! and more!
 
Solr and Elasticsearch, a performance study
Solr and Elasticsearch, a performance studySolr and Elasticsearch, a performance study
Solr and Elasticsearch, a performance study
 
Side by Side with Elasticsearch and Solr
Side by Side with Elasticsearch and SolrSide by Side with Elasticsearch and Solr
Side by Side with Elasticsearch and Solr
 
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
 
Managing Your Content with Elasticsearch
Managing Your Content with ElasticsearchManaging Your Content with Elasticsearch
Managing Your Content with Elasticsearch
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
 
Use Cases for Elastic Search Percolator
Use Cases for Elastic Search PercolatorUse Cases for Elastic Search Percolator
Use Cases for Elastic Search Percolator
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search Walkthrough
 
ElasticSearch - index server used as a document database
ElasticSearch - index server used as a document databaseElasticSearch - index server used as a document database
ElasticSearch - index server used as a document database
 
Simple search with elastic search
Simple search with elastic searchSimple search with elastic search
Simple search with elastic search
 
Elasticsearch - Devoxx France 2012 - English version
Elasticsearch - Devoxx France 2012 - English versionElasticsearch - Devoxx France 2012 - English version
Elasticsearch - Devoxx France 2012 - English version
 
Solr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by CaseSolr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by Case
 
Intro to Elasticsearch
Intro to ElasticsearchIntro to Elasticsearch
Intro to Elasticsearch
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)
Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)
Battle of the Giants - Apache Solr vs. Elasticsearch (ApacheCon)
 
Practical Elasticsearch - real world use cases
Practical Elasticsearch - real world use casesPractical Elasticsearch - real world use cases
Practical Elasticsearch - real world use cases
 
Xapian vs sphinx
Xapian vs sphinxXapian vs sphinx
Xapian vs sphinx
 

Similar to Cool bonsai cool - an introduction to ElasticSearch

How ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps lifeHow ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps life
琛琳 饶
 
Schema design short
Schema design shortSchema design short
Schema design short
MongoDB
 
Why Java Needs Hierarchical Data
Why Java Needs Hierarchical DataWhy Java Needs Hierarchical Data
Why Java Needs Hierarchical Data
Marakana Inc.
 
Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @Moldcamp
Alexei Gorobets
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
Jonathan Linowes
 
12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index
webhostingguy
 
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search ComponentLetting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search Component
Jay Luker
 

Similar to Cool bonsai cool - an introduction to ElasticSearch (20)

Solving the Riddle of Search: Using Sphinx with Rails
Solving the Riddle of Search: Using Sphinx with RailsSolving the Riddle of Search: Using Sphinx with Rails
Solving the Riddle of Search: Using Sphinx with Rails
 
How ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps lifeHow ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps life
 
Schema design short
Schema design shortSchema design short
Schema design short
 
Why Java Needs Hierarchical Data
Why Java Needs Hierarchical DataWhy Java Needs Hierarchical Data
Why Java Needs Hierarchical Data
 
Rapid and Scalable Development with MongoDB, PyMongo, and Ming
Rapid and Scalable Development with MongoDB, PyMongo, and MingRapid and Scalable Development with MongoDB, PyMongo, and Ming
Rapid and Scalable Development with MongoDB, PyMongo, and Ming
 
Compass Framework
Compass FrameworkCompass Framework
Compass Framework
 
Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearch
 
How we build Vox
How we build VoxHow we build Vox
How we build Vox
 
Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @Moldcamp
 
Kyiv.py #16 october 2015
Kyiv.py #16 october 2015Kyiv.py #16 october 2015
Kyiv.py #16 october 2015
 
How To Crawl Amazon Website Using Python Scrap (1).pptx
How To Crawl Amazon Website Using Python Scrap (1).pptxHow To Crawl Amazon Website Using Python Scrap (1).pptx
How To Crawl Amazon Website Using Python Scrap (1).pptx
 
Structured Document Search and Retrieval
Structured Document Search and RetrievalStructured Document Search and Retrieval
Structured Document Search and Retrieval
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
 
Elasticsearch first-steps
Elasticsearch first-stepsElasticsearch first-steps
Elasticsearch first-steps
 
How To Crawl Amazon Website Using Python Scrapy.pdf
How To Crawl Amazon Website Using Python Scrapy.pdfHow To Crawl Amazon Website Using Python Scrapy.pdf
How To Crawl Amazon Website Using Python Scrapy.pdf
 
2011 Mongo FR - Indexing in MongoDB
2011 Mongo FR - Indexing in MongoDB2011 Mongo FR - Indexing in MongoDB
2011 Mongo FR - Indexing in MongoDB
 
12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index
 
Security.ppt
Security.pptSecurity.ppt
Security.ppt
 
Pxb For Yapc2008
Pxb For Yapc2008Pxb For Yapc2008
Pxb For Yapc2008
 
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search ComponentLetting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search Component
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Cool bonsai cool - an introduction to ElasticSearch