SlideShare a Scribd company logo
Building a Full-Featured
Full-Text Search using
Elasticsearch
SFSCon - Free Software Conference 2019
1
About me
Alex Lanz
2https://aboutbits.it
● Co-Founder @ AboutBits
● Software Developer
@about_bits
@alex__lanz
Shay Banon - Creator of Elasticsearch
3
Search is something that any application should
have.
https://thedudeabides.com/articles/the_future_of_compass
4https://airbnb.com
5https://twitter.com
6https://support.apple.com/en-gb/HT201732
But how can I develop a
search functionality?
7
Elasticsearch
Search Engine
● Based on the Lucene library
● HTTP web interface (REST)
● Schema-free JSON documents
● Distributed architecture
● High scalability
● Open Source
8
https://www.elastic.co/products/elasticsearch
Check out the docs!
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
9
Storytelling!
10
Different words
Example
11
12
13
Different words
Solution
Synonyms
● Replaces or adds additional
words (tokens)
● During text analysis
schlagobers => sahne
14
https://www.elastic.co/guide/en/elasticsearch/reference/7.4/analysis-synonym-tokenfilter.html
15
Compound words
Example
16
17
18
Compound
words
Solution
ngrams
● Contiguous sequence of n items
from a given word (term)
● Useful for languages that don’t
use spaces or that have long
compound words
Apfelsaft: apf, pfe, fel, els, lsa, saf,
aft
Apfel: apf, pfe, fel
19
https://www.elastic.co/guide/en/elasticsearch/reference/7.4/analysis-ngram-tokenizer.html
20
Not enough words
Example
21
22
23
Not enough
words
Solution
Boosting
● Control the relevance of a search
● Increase (or decrease) the
relative weight of a clause
Boost of 2 for products within the
category “Obst”.
24
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html
25
26
Enriched results
Example
27
28https://booking.com
Enriched results
Solution
Aggregations
● Provide aggregated data based
on a search query
● Analytic information over a set of
documents
● All with one query
29
https://www.elastic.co/guide/en/elasticsearch/reference/7.4/search-aggregations.html
30
Elasticsearch
Pro Tipps
31
Elasticsearch
Pro Tipps
● It’s an enhancement not a
replacement for a SQL database
● Data must no be persisted
forever, rebuild the index if
necessary
● Denormalize your data
32
Questions?
33

More Related Content

Similar to SFScon19 - Alex Lanz - Tips and Tricks for Building a Full-Featured Full-Text Search using Elasticsearch (20)

PDF
Softshake 2013 - Let's take this offline
Claire Reynaud
 
PPTX
Elastic search
Ahmet SEĞMEN
 
PPTX
Elasticsearch vs MongoDB comparison
jeetendra mandal
 
PPTX
Exploring MongoDB & Elasticsearch: Better Together
ObjectRocket
 
PPTX
Elasticsearch: Getting Started Part 1
Suyog Kale
 
PDF
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET Journal
 
PDF
Growing with elastic search
Devi A S L
 
PDF
MongoDB meetup at Hike
Bharvi Dixit
 
PPTX
06 integrate elasticsearch
Erhwen Kuo
 
PDF
SFScon19 - Martin Malfertheiner - Writing to ElasticSearch
South Tyrol Free Software Conference
 
PPT
Drupal and Elasticsearch
Nikolay Ignatov
 
PDF
Introduction to elasticsearch
pmanvi
 
PDF
ElasticSearch - Suche im Zeitalter der Clouds
inovex GmbH
 
PDF
Designing RESTful APIs
anandology
 
PPTX
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
Knut Relbe-Moe [MVP, MCT]
 
DOCX
Hyper text markup language
Rai Saheb Bhanwar Singh College Nasrullaganj
 
PPTX
Using rest to create responsive html 5 share point intranets
InnoTech
 
PPTX
Develop open source search engine
NAILBITER
 
PPTX
Visualizing Austin's data with Elasticsearch and Kibana
ObjectRocket
 
PDF
Closer17.ppt
Yann-Gaël Guéhéneuc
 
Softshake 2013 - Let's take this offline
Claire Reynaud
 
Elastic search
Ahmet SEĞMEN
 
Elasticsearch vs MongoDB comparison
jeetendra mandal
 
Exploring MongoDB & Elasticsearch: Better Together
ObjectRocket
 
Elasticsearch: Getting Started Part 1
Suyog Kale
 
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET Journal
 
Growing with elastic search
Devi A S L
 
MongoDB meetup at Hike
Bharvi Dixit
 
06 integrate elasticsearch
Erhwen Kuo
 
SFScon19 - Martin Malfertheiner - Writing to ElasticSearch
South Tyrol Free Software Conference
 
Drupal and Elasticsearch
Nikolay Ignatov
 
Introduction to elasticsearch
pmanvi
 
ElasticSearch - Suche im Zeitalter der Clouds
inovex GmbH
 
Designing RESTful APIs
anandology
 
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
Knut Relbe-Moe [MVP, MCT]
 
Using rest to create responsive html 5 share point intranets
InnoTech
 
Develop open source search engine
NAILBITER
 
Visualizing Austin's data with Elasticsearch and Kibana
ObjectRocket
 

More from South Tyrol Free Software Conference (20)

PDF
SFSCON24 - Marina Latini - 1, 2, 3, Doc Kit!
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Carmen Delgado Ivar Grimstad - Nurturing OpenJDK distribution: Ecl...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Eduardo Guerra - codEEmoji – Making code more informative with emojis
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Juri Solovjov - How to start contributing and still have fun
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Michal Skipala & Bruno Rossi - Monolith Splitter
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Jorge Melegati - Software Engineering Automation: From early tools...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Chiara Civardi & Dominika Tasarz Sochacka - The Crucial Role of Op...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Moritz Mock, Barbara Russo & Jorge Melegati - Can Test Driven Deve...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Aurelio Buonomo & Christian Zanotti - Apisense – Easily monitor an...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Giovanni Giannotta & Orneda Lecini - Approaches to Object Detectio...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Alberto Nicoletti - The SMART Box of AURA Project
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Luca Alloatti - Open-source silicon chips
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Roberto Innocenti - 2025 scenario on OpenISA OpenPower Open Hardwa...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Juan Rico - Enabling global interoperability among smart devices ...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Seckin Celik & Davide Serpico - Adoption Determinants of Open Hard...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Stefan Mutschlechner - Smart Werke Meran - Lorawan Use Cases
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Mattia Pizzirani - Raspberry Pi and Node-RED: Open Source Tools fo...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Attaullah Buriro - ClapMetrics: Decoding Users Genderand Age Throu...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Joseph P. De Veaugh Geiss - Opt out? Opt in? Opt Green! Bringing F...
South Tyrol Free Software Conference
 
PDF
SFSCON24 - Fulvio Mastrogiovanni - On the ethical challenges raised by robots...
South Tyrol Free Software Conference
 
SFSCON24 - Marina Latini - 1, 2, 3, Doc Kit!
South Tyrol Free Software Conference
 
SFSCON24 - Carmen Delgado Ivar Grimstad - Nurturing OpenJDK distribution: Ecl...
South Tyrol Free Software Conference
 
SFSCON24 - Eduardo Guerra - codEEmoji – Making code more informative with emojis
South Tyrol Free Software Conference
 
SFSCON24 - Juri Solovjov - How to start contributing and still have fun
South Tyrol Free Software Conference
 
SFSCON24 - Michal Skipala & Bruno Rossi - Monolith Splitter
South Tyrol Free Software Conference
 
SFSCON24 - Jorge Melegati - Software Engineering Automation: From early tools...
South Tyrol Free Software Conference
 
SFSCON24 - Chiara Civardi & Dominika Tasarz Sochacka - The Crucial Role of Op...
South Tyrol Free Software Conference
 
SFSCON24 - Moritz Mock, Barbara Russo & Jorge Melegati - Can Test Driven Deve...
South Tyrol Free Software Conference
 
SFSCON24 - Aurelio Buonomo & Christian Zanotti - Apisense – Easily monitor an...
South Tyrol Free Software Conference
 
SFSCON24 - Giovanni Giannotta & Orneda Lecini - Approaches to Object Detectio...
South Tyrol Free Software Conference
 
SFSCON24 - Alberto Nicoletti - The SMART Box of AURA Project
South Tyrol Free Software Conference
 
SFSCON24 - Luca Alloatti - Open-source silicon chips
South Tyrol Free Software Conference
 
SFSCON24 - Roberto Innocenti - 2025 scenario on OpenISA OpenPower Open Hardwa...
South Tyrol Free Software Conference
 
SFSCON24 - Juan Rico - Enabling global interoperability among smart devices ...
South Tyrol Free Software Conference
 
SFSCON24 - Seckin Celik & Davide Serpico - Adoption Determinants of Open Hard...
South Tyrol Free Software Conference
 
SFSCON24 - Stefan Mutschlechner - Smart Werke Meran - Lorawan Use Cases
South Tyrol Free Software Conference
 
SFSCON24 - Mattia Pizzirani - Raspberry Pi and Node-RED: Open Source Tools fo...
South Tyrol Free Software Conference
 
SFSCON24 - Attaullah Buriro - ClapMetrics: Decoding Users Genderand Age Throu...
South Tyrol Free Software Conference
 
SFSCON24 - Joseph P. De Veaugh Geiss - Opt out? Opt in? Opt Green! Bringing F...
South Tyrol Free Software Conference
 
SFSCON24 - Fulvio Mastrogiovanni - On the ethical challenges raised by robots...
South Tyrol Free Software Conference
 
Ad

Recently uploaded (20)

PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Ad

SFScon19 - Alex Lanz - Tips and Tricks for Building a Full-Featured Full-Text Search using Elasticsearch