SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Downloaden Sie, um offline zu lesen
elasticsearch
me
Developer at Twinslash
email: dima.zhlobo@gmail.com
skype: dima.zhlobo
github: proghat
twitter: @proghat
Dmitry Zhlobo
search is hard
● speed vs. relevancy
search is hard
● speed vs. relevancy
● real time
search is hard
● speed vs. relevancy
● real time
● different kinds of data
usual approach
● SELECT * FROM posts WHERE `body`
LIKE '%query%'
usual approach
● SELECT * FROM posts WHERE `body`
LIKE '%query%'
● gem 'thinking-sphinx'
…
Article.search(params[:q])
usual approach
● SELECT * FROM posts WHERE `body`
LIKE '%query%'
● gem 'thinking-sphinx'
…
Article.search(params[:q])
how search works?
● document 1:
flexible and powerful open source, distributed real-
time search and analytics engine for the cloud...
● document 2:
Apache Mahout has implementations of a wide
range of machine learning and data mining...
● document 3:
Our core algorithms for clustering, classification and
batch based collaborative filtering are implemented
on top of Apache Hadoop using the MapReduce...
how search works?
data
mapreduce
learning
classification
recommenders
analysis
how search works?
data
mapreduce
learning
classification
recommenders
analysis
1 2 3
1 2
2 3
2 3
2
3
how search works?
data
mapreduce
learning
classification
recommenders
analysis
1 2 3
1 2
2 3
2 3
2
3
how search works?
data
mapreduce
learning
classification
recommenders
analysis
1 2 3
1 2
2 3
2 3
2
3
how search works?
data
mapreduce
learning
classification
recommenders
analysis
1 2 3
1 2
2 3
2 3
2
3
elasticsearch
● full text search
● real time data
● opensource
● restful api
● distributed
● schema free & document oriented
elasticsearch
analysis
Flexible and powerful <strong>search</strong> engine
analysis
Flexible and powerful <strong>search</strong> engine
char
filters
Mapping
HTML Strip
Pattern Replace
analysis
char
filters
Flexible and powerful search engine
analysis
char
filters
tokenizer
Flexible and powerful search engine
Path Hierarchy
Keyword
Letter
Lowercase
NGram
Standard
Whitespace
Pattern
Edge NGram
analysis
char
filters
tokenizer
Flexible and powerful search engine
analysis
char
filters
tokenizer
Flexible and powerful search engine
token
filters
Stop
Lowercase
Snowball
Synonym
TrimUnique
Normalization
Stemmer
Shingle
Truncate
Reverse
analysis
tokenizer
token
filters
char
filters
flexible powerful search engine
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный рассказать
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный рассказать хороший
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный рассказать хороший
поисковый
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный рассказать хороший
движокпоисковый
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный рассказать хороший
движокпоисковый
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный рассказать хороший
движок
“хороший поисковой движок”
хороший движок
поисковый
поисковый
russian morphology
“Он отлично рассказал о лучшем поисковом движке”
отлично отличный рассказать хороший
движок
“хороший поисковой движок”
хороший
поисковый
движокпоисковый
phonetic analysis
phonetic analysis
Eyjafjallajökull
phonetic analysis
Eyjafjallajökull
Eiyafyalayokul
iofiolDkul
analysis
char
filters
tokenizer
token
filters
analysis
char
filters
tokenizer
token
filters
analyzer
analysis
char
filters
tokenizer
token
filters
analyzer
● has name
analysis
char
filters
tokenizer
token
filters
analyzer
● has name
● reusable
analysis
char
filters
tokenizer
token
filters
analysis:
analyzer:
rus_morphology:
type: "custom"
char_filter: ["html_strip"]
tokenizer: "standard"
filter: ["lowercase", "russian_morphology", "stopwords"]
getting started
# Add document to index
curl -XPOST "localhost:9200/posts/post/1" -d '{ title: "Search" }'
getting started
# Add document to index
curl -XPOST "localhost:9200/posts/post/1" -d '{ title: "Search" }'
getting started
# Add document to index
curl -XPOST "localhost:9200/posts/post/1" -d '{ title: "Search" }'
getting started
# Add document to index
curl -XPOST "localhost:9200/posts/post/1" -d '{ title: "Search" }'
# Add document to index
curl -XPOST "localhost:9200/posts/post/1" -d '{ title: “Search" }'
curl -XPOST "localhost:9200/posts/post/whatever" -d '{ title: "ES" }'
getting started
# Add document to index
curl -XPOST "localhost:9200/posts/post/1" -d '{ title: “Search" }'
curl -XPOST "localhost:9200/posts/post/whatever" -d '{ title: "ES" }'
# Search documents
curl -XGET "localhost:9200/posts/_search?q=data"
curl -XGET "localhost:9200/posts/_search?q=title:elasticsearch"
getting started
# Add document to index
curl -XPOST "localhost:9200/posts/post/1" -d '{ title: “Search" }'
curl -XPOST "localhost:9200/posts/post/whatever" -d '{ title: "ES" }'
# Search documents
curl -XGET "localhost:9200/posts/_search?q=data"
curl -XGET "localhost:9200/posts/_search?q=title:elasticsearch"
# Update and delete documents
curl -XPUT "localhost:9200/posts/post/1" -d '{ title: “Data" }'
curl -XDELETE "localhost:9200/posts/post/whatever"
getting started
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
repository: {
type: "string"
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
repository: {
type: "string",
boost: 5
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
repository: {
type: "string",
boost: 5,
analyzer: "repo_name"
}
repo_name: {
tokenizer: "letter",
filter: ["lowercase","phonetic"]
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
description: {
type: "string"
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
description: {
type: "string",
analyzer: "english_text"
}
english_text: {
tokenizer: "standard",
filter:
["lowercase", "stopwords", "snowball"]
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
maintainer: {
properties: {
}
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
maintainer: {
properties: {
name: {
type: "string"
}
}
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
maintainer: {
properties: {
name: {
type: "string",
analyzer: "phonetic"
}
}
}
phonetic: {
tokenizer: "standard",
filter: ["lowercase", "stopwords",
"beidermorse"]
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
maintainer: {
properties: {
email: {
type: "string"
}
}
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
maintainer: {
properties: {
email: {
type: "string",
index: "not_analyzed"
}
}
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
language: {
type: "string"
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
language: {
type: "string",
analyzer: "programming_lang"
}
programming_lang: {
tokenizer: "keyword",
filter: ["lowercase"]
}
mapping
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}
created_at: {
type: "date",
format: "YYYY-MM-DD"
}
mapping
curl -XPOST "localhost:9200/repositories" -d '
settings: {
analysis: {
analyzer: { ... },
filter: { ... }
}
},
mappings: {
repository: {
properties: { ... }
}
}'
mapping
curl -XPOST "localhost:9200/repositories" -d '...'
curl -XPOST "localhost:9200/repositories/repository" -d '
{
repository: "elasticsearch/elasticsearch",
description: "Open Source, Distributed, RESTful Search Engine",
maintainer: {
name: "Shay Banon",
email: "kimchy@gmail.com"
},
languages: ["Java", "Shell"],
created_at: "2010-02-08"
}'
search
curl -XGET "localhost:9200/repositories/repository/_search?q=engine"
search
curl -XPOST "localhost:9200/repositories/repository/_search" -d '
{
query: {
match: {
description: "search"
}
}
}'
search
"hits" : {
"total" : 3,
"hits" : [
{
"_score" : 0.22295055,
"_source" : { repository: "elasticsearch/elasticsearch" }
}, {
"_score" : 0.22295055,
"_source" : { repository: "ankane/searchkick" }
}, {
"_score" : 0.095891505,
"_source" : { repository: "karmi/tire" }
}
]
}
search
curl -XPOST "localhost:9200/repositories/repository/_search" -d '
{
query: {
match: {
_all: "elasticsearch"
}
}
}'
search
"hits" : {
"total" : 2,
"hits" : [
{
"_score" : 5.46875,
"_source" : { repository: "elasticsearch/elasticsearch" }
}, {
"_score" : 0.04746387,
"_source" : { repository: "karmi/tire" }
}
]
}
facets
curl -XPOST "localhost:9200/repositories/repository/_search" -d '
{
query: {
match: {
_all: "search"
}
},
facets: {
language: {
terms: {
field: "languages"
}
}
}
}'
facets
"hits" : {
"total" : 2,
"hits" : [ ... ]
},
"facets" : {
"language" : {
"terms" : [
{ "term" : "ruby", "count" : 2 },
{ "term" : "shell", "count" : 1 },
{ "term" : "java", "count" : 1 }
]
}
}
filters
curl -XPOST "localhost:9200/repositories/repository/_search" -d '
{
query: {
filtered: {
query: {
match: {
_all: "search"
}
},
filter: {
term: { "languages": "java" }
}
}
}
}'
filters
"hits" : {
"total" : 1,
"hits" : [
{
"_score" : 5.46875,
"_source" : { repository: "elasticsearch/elasticsearch" }
}
]
}
performance and scaling
performance and scaling
elasticsearch is web scale
random facts
● bulk operations
● real time
● highlights
● geo types and geo distance facets
● attachments
● “did you mean?” and completions
● common terms
● filters and caching
● river
You know. For search.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

elasticsearch - advanced features in practice
elasticsearch - advanced features in practiceelasticsearch - advanced features in practice
elasticsearch - advanced features in practice
 
The ultimate guide for Elasticsearch plugins
The ultimate guide for Elasticsearch pluginsThe ultimate guide for Elasticsearch plugins
The ultimate guide for Elasticsearch plugins
 
Query DSL In Elasticsearch
Query DSL In ElasticsearchQuery DSL In Elasticsearch
Query DSL In Elasticsearch
 
Simple search with elastic search
Simple search with elastic searchSimple search with elastic search
Simple search with elastic search
 
Elastic Search
Elastic SearchElastic Search
Elastic Search
 
Introduction to solr
Introduction to solrIntroduction to solr
Introduction to solr
 
Elasticsearch & "PeopleSearch"
Elasticsearch & "PeopleSearch"Elasticsearch & "PeopleSearch"
Elasticsearch & "PeopleSearch"
 
Terms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explainedTerms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explained
 
Solr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by CaseSolr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by Case
 
Beyond full-text searches with Lucene and Solr
Beyond full-text searches with Lucene and SolrBeyond full-text searches with Lucene and Solr
Beyond full-text searches with Lucene and Solr
 
Solr vs. Elasticsearch, Case by Case: Presented by Alexandre Rafalovitch, UN
Solr vs. Elasticsearch,  Case by Case: Presented by Alexandre Rafalovitch, UNSolr vs. Elasticsearch,  Case by Case: Presented by Alexandre Rafalovitch, UN
Solr vs. Elasticsearch, Case by Case: Presented by Alexandre Rafalovitch, UN
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search Walkthrough
 
Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearch
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
 
How Solr Search Works
How Solr Search WorksHow Solr Search Works
How Solr Search Works
 
Elasticsearch 101 - Cluster setup and tuning
Elasticsearch 101 - Cluster setup and tuningElasticsearch 101 - Cluster setup and tuning
Elasticsearch 101 - Cluster setup and tuning
 
Elasticsearch - under the hood
Elasticsearch - under the hoodElasticsearch - under the hood
Elasticsearch - under the hood
 
Battle of the giants: Apache Solr vs ElasticSearch
Battle of the giants: Apache Solr vs ElasticSearchBattle of the giants: Apache Solr vs ElasticSearch
Battle of the giants: Apache Solr vs ElasticSearch
 
Elastic search 검색
Elastic search 검색Elastic search 검색
Elastic search 검색
 
Retrieving Information From Solr
Retrieving Information From SolrRetrieving Information From Solr
Retrieving Information From Solr
 

Andere mochten auch

2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
Омские ИТ-субботники
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
Vyacheslav Nikulin
 
Путь мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в GrammarlyПуть мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в Grammarly
Vsevolod Polyakov
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Ontico
 

Andere mochten auch (20)

2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
 
Автоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе ElasticsearchАвтоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе Elasticsearch
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
 
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
 
Elastic search custom chinese analyzer
Elastic search custom chinese analyzerElastic search custom chinese analyzer
Elastic search custom chinese analyzer
 
Elasticsearch ve Udemy Kullanım Pratikleri
Elasticsearch ve Udemy Kullanım PratikleriElasticsearch ve Udemy Kullanım Pratikleri
Elasticsearch ve Udemy Kullanım Pratikleri
 
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup MinskElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
 
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
 
Путь мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в GrammarlyПуть мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в Grammarly
 
ElasticSearch at berlinbuzzwords 2010
ElasticSearch at berlinbuzzwords 2010ElasticSearch at berlinbuzzwords 2010
ElasticSearch at berlinbuzzwords 2010
 
I just hacked your app! - Marcos Placona - Codemotion Rome 2017
I just hacked your app! - Marcos Placona - Codemotion Rome 2017I just hacked your app! - Marcos Placona - Codemotion Rome 2017
I just hacked your app! - Marcos Placona - Codemotion Rome 2017
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
 
Elasticsearch in 15 minutes
Elasticsearch in 15 minutesElasticsearch in 15 minutes
Elasticsearch in 15 minutes
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of Lucene
 

Ähnlich wie Использование 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
琛琳 饶
 
Scaling Analytics with elasticsearch
Scaling Analytics with elasticsearchScaling Analytics with elasticsearch
Scaling Analytics with elasticsearch
dnoble00
 

Ähnlich wie Использование Elasticsearch для организации поиска по сайту (20)

Elasticsearch (Rubyshift 2013)
Elasticsearch (Rubyshift 2013)Elasticsearch (Rubyshift 2013)
Elasticsearch (Rubyshift 2013)
 
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
 
Elasto Mania
Elasto ManiaElasto Mania
Elasto Mania
 
OSMC 2023 | Experiments with OpenSearch and AI by Jochen Kressin & Leanne La...
OSMC 2023 | Experiments with OpenSearch and AI by Jochen Kressin &  Leanne La...OSMC 2023 | Experiments with OpenSearch and AI by Jochen Kressin &  Leanne La...
OSMC 2023 | Experiments with OpenSearch and AI by Jochen Kressin & Leanne La...
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning Elasticsearch
 
Scaling Analytics with elasticsearch
Scaling Analytics with elasticsearchScaling Analytics with elasticsearch
Scaling Analytics with elasticsearch
 
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
 
Infinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGMInfinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGM
 
Test Trend Analysis : Towards robust, reliable and timely tests
Test Trend Analysis : Towards robust, reliable and timely testsTest Trend Analysis : Towards robust, reliable and timely tests
Test Trend Analysis : Towards robust, reliable and timely tests
 
曾勇 Elastic search-intro
曾勇 Elastic search-intro曾勇 Elastic search-intro
曾勇 Elastic search-intro
 
ElasticSearch Basics
ElasticSearch Basics ElasticSearch Basics
ElasticSearch Basics
 
ElasticSearch
ElasticSearchElasticSearch
ElasticSearch
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
[2 d1] elasticsearch 성능 최적화
[2 d1] elasticsearch 성능 최적화[2 d1] elasticsearch 성능 최적화
[2 d1] elasticsearch 성능 최적화
 
Elastic search intro-@lamper
Elastic search intro-@lamperElastic search intro-@lamper
Elastic search intro-@lamper
 
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine
Leveraging Lucene/Solr as a Knowledge Graph and Intent EngineLeveraging Lucene/Solr as a Knowledge Graph and Intent Engine
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine
 
Elasticsearch intro output
Elasticsearch intro outputElasticsearch intro output
Elasticsearch intro output
 
Spark Summit EU talk by Ruben Pulido and Behar Veliqi
Spark Summit EU talk by Ruben Pulido and Behar VeliqiSpark Summit EU talk by Ruben Pulido and Behar Veliqi
Spark Summit EU talk by Ruben Pulido and Behar Veliqi
 

Mehr von Olga Lavrentieva

«Обзор возможностей Open cv»
«Обзор возможностей Open cv»«Обзор возможностей Open cv»
«Обзор возможностей Open cv»
Olga Lavrentieva
 

Mehr von Olga Lavrentieva (20)

15 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v415 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v4
 
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive PerformanceСергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
 
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности CassandraАндрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
 
Brug - Web push notification
Brug  - Web push notificationBrug  - Web push notification
Brug - Web push notification
 
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
 
Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"
 
Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"
 
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
 
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
 
Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»
 
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»
 
Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»
 
Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»
 
«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»
 
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
 
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
 
«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»
 
«Обзор возможностей Open cv»
«Обзор возможностей Open cv»«Обзор возможностей Open cv»
«Обзор возможностей Open cv»
 
«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»
 

Kürzlich hochgeladen

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
 

Kürzlich hochgeladen (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Использование Elasticsearch для организации поиска по сайту