Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Elasticsearch Intro
Search
Kang-min Liu
April 20, 2013
Technology
700
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elasticsearch Intro
Brief Elasticsearch introduction on OSDC.tw 2013
Kang-min Liu
April 20, 2013
More Decks by Kang-min Liu
See All by Kang-min Liu
Event-driven programming with Perl
gugod
7
1.8k
Introduction to perlbrew
gugod
2
2k
Other Decks in Technology
See All in Technology
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
150
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
USB PDを使ってスマホを労わりたい
raspython3
0
180
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
630
How to Design Configuration for Rails Applications
willnet
1
810
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
340
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
Running Kotlin + Quarkus with Lambda
nealle
1
3.8k
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
464
34k
エンジニアに許された特別な時間の終わり
watany
109
250k
How GitHub (no longer) Works
holman
316
150k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Transcript
ELASTICSEARCH መፌհ Kang-min Liu <
[email protected]
> 13年4月20日星期六
ELASTICSEARCH Distributed (Near) Real Time Search Engine RESTful ෩ɼLucene ࠎɼNoSQL
ܥ elasticsearch.org https://github.com/elasticsearch/elasticsearch elasticsearch.com 13年4月20日星期六
໊ࢺሣর Relational DB ElasticSearch database index table type row document
column field schema mapping index (શ෦) SQL query DSL 13年4月20日星期六
CREATE curl -XPOST http://localhost:9200/social/tweet/1 -d '{ content: "େՈ" user_name: "gugod"
}' 13年4月20日星期六
CREATE curl -XPOST http://localhost:9200/social/tweet/1 -d '{ content: "େՈ" user_name: "gugod"
}' 13年4月20日星期六
CREATE curl -XPOST http://localhost:9200/social/tweet/1 -d '{ content: "େՈ" user: {
name: "gugod", id: 385782393, }, tag: ["osdctw", "demo", "moedict"] }' 13年4月20日星期六
CREATE curl -XPOST http://localhost:9200/social/tweet/1 -d '{ content: "େՈ" user_name: "gugod"
}' index type 13年4月20日星期六
READ curl -XGET http://localhost:9200/social/tweet/1 13年4月20日星期六
UPDATE curl -XPUT http://localhost:9200/social/tweet/1 -d '{ content: "େՈ" user_name: "gugod"
}' 13年4月20日星期六
DELETE curl -XDELETE http://localhost:9200/social/tweet/1 13年4月20日星期六
SEARCH $ curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{ "query": { "filtered"
: { "query" : { "query_string" : { "query" : "some query string here" } }, "filter" : { "term" : { "user" : "kimchy" } } } } } ' query DSL 13年4月20日星期六
SEARCH $ curl -XPOST 'http://localhost:9200/twitter/tweet/_search' -d '{ "query": { "term"
: { "user" : "kimchy" } } } ' 13年4月20日星期六
SEARCH $ curl -XGET 'http://localhost:9200/twitter/tweet/_search?q=nihao' 13年4月20日星期六
፺ਘҾ№ݪཧ 13年4月20日星期六
Inverted index ࡧҾ term → id Relevance Scoring Ꮠ 13年4月20日星期六
༌ೖจ݅ Ԇలੑ: ࣭۩Ԇٴల։తੑ࣭ɼҝʮԆలੑʯɻҝେଟᏐۚሱ೭ಛੑɻ Ԇฏ܊Ԧ: ໌Ṅޭత෧ᥒɻ Ԇӹᆹ: Ԇᆹ໋ɼଟҝᰌॕਓᆹత༻ࢺɻ Ԇੑ: ࣭ՄԆҝࡉើతੑ࣭ɼҝʮԆੑʯɻࡐྉࡏഁᆦ೭લɼఄݱ઼ੑᏓܗతఔ ɻԆੑՄ༻፮ྗࢼᱛதత৳ٴᏗ໘ॖදࣔ೭ɻ
Ԇ؇: ԆᬌɺԆޙɻ 13年4月20日星期六
TOKENIZATION Ԇ ల ੑ ࣭ ۩ Ԇ ٴ
ల ։ త ੑ ࣭ ҝ Ԇ ల ੑ ҝ େ ଟ Ꮠ ۚ ሱ ೭ ಛ ੑ Ԇ ฏ ܊ Ԧ ໌ Ṅ ޭ త ෧ ᥒ Ԇ ӹ ᆹ Ԇ ᆹ ໋ ଟ ҝ ᰌ ॕ ਓ ᆹ త ༻ ࢺ Ԇ ੑ ࣭ Մ Ԇ ҝ ࡉ ើ త ੑ ࣭ ҝ Ԇ ੑ ࡐ ྉ ࡏ ഁ ᆦ ೭ લ ఄ ݱ ઼ ੑ Ꮣ ܗ త ఔ Ԇ ੑ Մ ༻ ፮ ྗ ࢼ ᱛ த త ৳ ٴ Ꮧ ໘ ॖ ද ࣔ ೭ Ԇ ؇ Ԇ ᬌ Ԇ ޙ 13年4月20日星期六
TOKENIZATION Ԇలੑ: ࣭ ࣭۩ ۩Ԇ Ԇ ٴ ٴల ల։ ։త
తੑ ੑ࣭ ҝ Ԇల లੑ ҝେ େଟ ଟᏐ Ꮠۚ ۚሱ ሱ೭ ೭ಛ ಛੑ Ԇฏ܊Ԧ: ໌Ṅ Ṅ ޭ ޭత త෧ ෧ᥒ Ԇӹᆹ: Ԇ ᆹ ᆹ໋ ଟҝ ҝᰌ ᰌॕ ॕਓ ਓ ᆹ ᆹత త༻ ༻ࢺ Ԇੑ: ࣭ ࣭Մ ՄԆ Ԇ ҝ ҝࡉ ࡉើ ើత తੑ ੑ࣭ ҝ Ԇੑ ࡐྉ ྉࡏ ࡏ ഁ ഁᆦ ᆦ೭ ೭લ ఄݱ ݱ઼ ઼ੑ ੑᏓ Ꮣܗ ܗత తఔ ఔ Ԇੑ ੑՄ Մ༻ ༻፮ ፮ྗ ྗࢼ ࢼᱛ ᱛத தత త৳ ৳ ٴ ٴᏗ Ꮧ໘ ໘ॖ ॖ ද දࣔ ࣔ೭ Ԇ؇: Ԇᬌ Ԇޙ 13年4月20日星期六
፺ਘɿԆ Ԇలੑ: ࣭ ࣭۩ ۩Ԇ Ԇ ٴ ٴల ల։ ։త
తੑ ੑ࣭ ҝ Ԇల లੑ ҝେ େଟ ଟᏐ Ꮠۚ ۚሱ ሱ೭ ೭ಛ ಛੑ Ԇฏ܊Ԧ: ໌Ṅ Ṅ ޭ ޭత త෧ ෧ᥒ Ԇӹᆹ: Ԇ ᆹ ᆹ໋ ଟҝ ҝᰌ ᰌॕ ॕਓ ਓ ᆹ ᆹత త༻ ༻ࢺ Ԇੑ: ࣭ ࣭Մ ՄԆ Ԇ ҝ ҝࡉ ࡉើ ើత తੑ ੑ࣭ ҝ Ԇੑ ࡐྉ ྉࡏ ࡏ ഁ ഁᆦ ᆦ೭ ೭લ ఄݱ ݱ઼ ઼ੑ ੑᏓ Ꮣܗ ܗత తఔ ఔ Ԇੑ ੑՄ Մ༻ ༻፮ ፮ྗ ྗࢼ ࢼᱛ ᱛத தత త৳ ৳ ٴ ٴᏗ Ꮧ໘ ໘ॖ ॖ ද දࣔ ࣔ೭ Ԇ؇: Ԇᬌ Ԇޙ 13年4月20日星期六
څ Ԇలੑ: ࣭ ࣭۩ ۩Ԇ Ԇ ٴ ٴల ల։ ։త
తੑ ੑ࣭ ҝ Ԇల లੑ ҝେ େଟ ଟᏐ Ꮠۚ ۚሱ ሱ೭ ೭ಛ ಛੑ Ԇฏ܊Ԧ: ໌Ṅ Ṅ ޭ ޭత త෧ ෧ᥒ Ԇӹᆹ: Ԇ ᆹ ᆹ໋ ଟҝ ҝᰌ ᰌॕ ॕਓ ਓ ᆹ ᆹత త༻ ༻ࢺ Ԇੑ: ࣭ ࣭Մ ՄԆ Ԇ ҝ ҝࡉ ࡉើ ើత తੑ ੑ࣭ ҝ Ԇੑ ࡐྉ ྉࡏ ࡏ ഁ ഁᆦ ᆦ೭ ೭લ ఄݱ ݱ઼ ઼ੑ ੑᏓ Ꮣܗ ܗత తఔ ఔ Ԇੑ ੑՄ Մ༻ ༻፮ ፮ྗ ྗࢼ ࢼᱛ ᱛத தత త৳ ৳ ٴ ٴᏗ Ꮧ໘ ໘ॖ ॖ ද දࣔ ࣔ೭ Ԇ؇: Ԇᬌ Ԇޙ 0.5 0.7 0.3 13年4月20日星期六
څ จ݅తࢺᏐʢʣ ࢺࡏจ݅㚎తස ࢺࡏࡧҾ㚎తස ҙࢦఆ 13年4月20日星期六
څ จ݅తࢺᏐʢʣ ࢺࡏจ݅㚎తස ࢺࡏࡧҾ㚎తස ҙࢦఆ 13年4月20日星期六
څ จ݅తࢺᏐʢʣ ࢺࡏจ݅㚎తස ࢺࡏࡧҾ㚎తස ҙࢦఆ 13年4月20日星期六
څ จ݅తࢺᏐʢʣ ࢺࡏจ݅㚎తස ࢺࡏࡧҾ㚎తස ҙࢦఆ 13年4月20日星期六
QUERY 13年4月20日星期六
{ "query": { "term": { "user": "ingy" } } }
TERM 13年4月20日星期六
{ "query": { "text": { "content": "Ṝᒬಹᒬ" } } }
TEXT 13年4月20日星期六
{ "query": { "text": { "content": "Ṝᒬಹᒬ" } } }
TEXT Ṝᒬ ᒬಹ ಹᒬ 13年4月20日星期六
{ "query": { "range" : { "age" : { "from"
: 10, "to" : 20, "include_lower" : true, "include_upper": false, "boost" : 2.0 } } } } RANGE 13年4月20日星期六
{ "query": { "query_string" : { "query" : "Ṝᒬ AND
ಹᒬ OR ዎᒬ" } } } QUERY_STRING 13年4月20日星期六
{ "query": { "wildcard" : { "user" : "ki*y" }
} } WILDCARD 13年4月20日星期六
{ "query": { "more_like_this" : { "like_text" : "Ṝᒬಹᒬ", "min_term_freq"
: 1, "max_query_terms" : 12 } } } MLT(MORE LIKE THIS) 13年4月20日星期六
๖య + ES https://github.com/g0v/esmoe 13年4月20日星期六
จ݅݁ߏ { "heteronyms": [ { "bopomofo": "ㄧㄢˊ ㄓㄢˇ ㄒㄧㄥˋ", "bopomofo2":
"yán jǎn shìng", "definitions": [ { "def": "࣭۩Ԇٴల։తੑ࣭ɼҝʮԆలੑʯɻҝେଟ Ꮠۚሱ೭ಛੑɻ" } ], "pinyin": "yán zhǎn xìng" } ], "title": "Ԇలੑ" }, 13年4月20日星期六
ਖ਼查 # curl http://localhost:9200/moedict/revised/$(uri_escape ፺)'?pretty=1' { "_index" : "moedict", "_type"
: "revised", "_id" : "፺", "_version" : 1, "exists" : true, "_source" : {"non_radical_stroke_count":10,"stroke_count": 13,"heteronyms":[{"bopomofo":"ㄙㄡ","pinyin":"sōu","bopomofo2":"sōu","definitions": [{"quote":["ॻɽრɽఇلɿʮळɼดେ፺ɼᚙᨶፅಮޒݪɻʯ","ᡅᜊࢤҟɽრҰɽޅ ՇঁɿʮቮࣕओਓᏑञ۩ɼগҰऋɼ້፺ෆಘɻʯ"],"def":"ፙਘɺਘٻɻ","type":"ಈ"}, {"example":["ɿʮ፺ʯɻ"],"quote":["ݩɽԦመำɽኈهɽୈࡾຊɽୈೋંɿʮෆߠ፺ࣗ ݾڰҝɼཁ᧯ผਓഁɻʯ"],"def":"ᒾ查、檢 點。","type":"ಈ"}]}],"title":"፺","radical":"ख"} } 13年4月20日星期六
查ʢ༝ٛ查ࢺʣ # curl --silent http://localhost:9200/moedict/revised/_search\ '?fields=&pretty=1&q='$(uri_escape ፙਘ) | grep _id
"_id" : "ਘࠜ", "_id" : "ਘፙ", "_id" : "๚ٻ", "_id" : "୳ᛝ", "_id" : "ਘٻ", "_id" : "ፙਘ", "_id" : "ፙػ။", "_id" : "ࣗፙ", "_id" : "ਘᒜ", "_id" : "୳ࡧ", 13年4月20日星期六
༻ྫ۟查 # curl --silent -XPOST http://localhost:9200/moedict/revised/_search'?pretty’\ -d '{query:{text:{example: "ߚᒭເ" }}}'
{ "took" : 8, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 }, "hits" : { "total" : 485, "max_score" : 5.116848, "hits" : [ { "_index" : "moedict", "_type" : "revised", "_id" : "ঞຊ", "_score" : 5.116848, "_source" : {"heteronyms":[{"bopomofo":"ㄔㄠ ㄅㄣ ˇ","pinyin":"chāo běn","bopomofo2":"chāu běn","definitions":[{"link":["ຠҝʮሜຊʯɺʮᭁ ຊʯɻ"],"example":["ɿʮঞຊߚᒭເʯɻ"],"synonyms":"खຊ","def":"खঞతॻ ੶ɻ"}]}],"title":"ঞຊ"} }, { "_index" : "moedict", "_type" : "revised", "_id" : "Ұ໊", "_score" : 4.27241, "_source" : {"heteronyms":[{"bopomofo":"ㄧ ㄇㄧㄥˊ","pinyin":"yī míng","bopomofo2":"yī míng","definitions":[{"quote":["ߚᒭເɽୈ࢛ेീճɿʮԼᤴᦛ೭ೕ 13年4月20日星期六
༻Ҿݴ查 # curl --silent -XPOST http://localhost:9200/moedict/revised/_search'?pretty'\ -d '{query:{text:{quote: "ߚᒭເ"}}}' {
"took" : 18, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 }, "hits" : { "total" : 11858, "max_score" : 1.7719736, "hits" : [ { "_index" : "moedict", "_type" : "revised", "_id" : "ݪߘ", "_score" : 1.7719736, "_source" : {"heteronyms":[{"bopomofo":"ㄩㄢˊ ㄍㄠˇ","pinyin":"yuán gǎo","bopomofo2":"yuán gǎu","definitions":[{"synonyms":"ఈߘ,ߘຊ,ॳߘ,ߘ","quote":["ߚᒭເɽୈޒ ճɿʮ㘸ඟɼճ಄໋খᱺऔྃʰߚᒭເʱݪߘိɼᬇᢛሞۄɻʯ"],"def":"࡞࠷ॳతखߘɻ"}]}],"title":"ݪ ߘ"} }, { "_index" : "moedict", "_type" : "revised", "_id" : "Ұ໘೭㐊", "_score" : 1.6941531, "_source" : {"heteronyms":[{"bopomofo":"ㄧ ㄇㄧㄢˋ ㄓ ㄩㄢ 13年4月20日星期六
༻Ի查 # curl --silent -XPOST http://localhost:9200/moedict/revised/ _search'?pretty' -d '{query:{text_phrase:{bopomofo:"ㄏㄨㄣˋ ㄏㄨ
ㄣˋ"}}}' | grep _id "_id" : "䓬䓬", "_id" : "ࠞࠞ", "_id" : "ࠞࠞಱಱ", "_id" : "ᕒᕒ", 13年4月20日星期六
ग़ݱස࠷ߴతԻ # curl --silent -XPOST http://localhost:9200/moedict/revised/_search'?pretty' -d ' { "query"
: { "match_all" : {} }, "facets" : { "bpmf" : { "terms" : { "field" : "bopomofo" } } } }' 13年4月20日星期六
{ "facets" : { "bpmf" : { "_type" : "terms",
"missing" : 1485, "total" : 430736, "other" : 401706, "terms" : [ { "term" : "ㄅㄨˋ", "count" : 5400 }, { "term" : "ㄕˋ", "count" : 4438 }, { "term" : "ㄧˋ", "count" : 3218 }, { "term" : "ㄧ", "count" : 2939 }, { "term" : "ㄖㄣˊ", "count" : 2754 }, { "term" : "ㄓ", "count" : 2625 }, { "term" : "ㄌㄧˋ", "count" : 2580 }, { "term" : "ㄗ", "count" : 2044 }, { "term" : "ㄕˊ", "count" : 1541 }, { "term" : "ㄒㄧㄣ", "count" : 1491 } ] } } 13年4月20日星期六
FACETS 13年4月20日星期六
FACETS Aggregations SELECT SUM(salary) GROUP BY name FROM employee; 13年4月20日星期六
FACETS range term stats geo distance statistical date histogram 13年4月20日星期六
ྫɿཱӃެใ { "speaker" : "ҕһਗ਼ሞ", "content" : "զࡏਪಈখࡾ௨త࣌ީɼଟਓᔒ༗ҙ౸զਅਖ਼త༻ҙɼআྃ ੋҝᙛᗠऔൟᒇਐ㑊ɺ⃧Ճݐઃతػ။೭֎ɼզ࠷ஶ؟رతੋ᤻༝খࡾ௨ိ࠵Խશ ໘తࡾ௨ɼೳ夠ᩋၷ؛᮫ղౚɻኺṜҰݸᴍೖɼፙҰࠣٞᢛେਐߦሣஊɻ",
"issue" : "3109" } { "speaker" : "ཥҕһܚ՚", "content" : "رแׅ֩Ұɺ֩ೋɺ֩ࡾɺ࢛֩త҆શᏐೳఏߴɻ", "issue" : "3867" } 13年4月20日星期六
curl -XPOST http://localhost:9200/lyg0v/interp_body/_search'?pretty=1' -d ' { "query": { "match_all": {}
}, "facets": { "top": { "terms": { "field": "content" } } } }' 13年4月20日星期六
curl -XPOST http://localhost:9200/lyg0v/interp_body/_search'?pretty=1' -d ' { "query": { "match_all": {}
}, "facets": { "top": { "terms": { "field": "speaker" } } } }' 13年4月20日星期六
OPERATION 13年4月20日星期六
CLUSTERING auto-discovery auto-elected master data replication / partition with flexible
shard / replica setting 13年4月20日星期六
13年4月20日星期六
13年4月20日星期六
shard ~ partition replica ~ duplication 13年4月20日星期六
CLUSTERING more shard faster indexing / scaling more replica faster
searching / failover 13年4月20日星期六
13年4月20日星期六
STATS API http://www.elasticsearch.org/guide/reference/api/admin- cluster-nodes-stats/ औಘ֤߲ᏐᎦ จ݅Ꮠɺ፺ਘ࣍Ꮠɺྦྷܭ፺ਘ࣌ᏐɺྦྷܭݐࡧҾ࣌ؒ cluster / primary /
node / index ֤छڃผ JVM CPU/Heap / OS / Thread / transport ༻㐫ଶ 13年4月20日星期六
JVM GC ᅷ 13年4月20日星期六
SEE ALSO Cool, Bonsai Cool - An introduction to ElasticSearch
http://bit.ly/112xtsk The Road to a Distributed Search Engine http://bit.ly/ZqBBUt elasticsearch, Big Data, Search & Analytics http://bit.ly/11tmbyK 13年4月20日星期六
__END__ OKTHXBYE 13年4月20日星期六