Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elasticsearch 구조 및 검색기능 기획 시 고려 사항
Search
정한빈
March 08, 2024
0
25
Elasticsearch 구조 및 검색기능 기획 시 고려 사항
정한빈
March 08, 2024
Tweet
Share
More Decks by 정한빈
See All by 정한빈
System Design
hanbin
0
36
Evolutionary Architecture
hanbin
0
18
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Being A Developer After 40
akosma
90
590k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Building Applications with DynamoDB
mza
96
6.6k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
How GitHub (no longer) Works
holman
314
140k
Side Projects
sachag
455
43k
How STYLIGHT went responsive
nonsquared
100
5.7k
Transcript
ೠ࠼/23.12.6 Elasticsearch
Contents • elasticsearchۆ • Full Scan VS Pre fi x
VS Full Text • Tokenizer / Normalizer • Ѩ࢝ ঌҊ્ܻ / Fuzziness • Ѧ۽ ަ ਸ ࣻ חо
Elasticsearchۆ
Full Scan VS Prefix VS Full Text
Full Scan
Prefix CREATE INDEX `IDX_content` ON document (content); or CREATE INDEX
`IDX_content` ON document (content(n)); content ஸۢਵ۽ ੋؙझ ࢤࢿ
Prefix
Full Text - ࢝ੋ
Full Text - ࢝ੋ • Tokenizer - ࢝ੋೡ ױয Ѿ
ߑߨ • ۳ - ௪ܻо ݃ա ޙࢲ৬ ೠо?
Full Text - ࢝ੋ • a, an, theܳ Ѩ࢝೧ঠೡө? •
‘’, ‘’, ‘झ’۽ Ѩ࢝ೞݶ ‘झ’о Ѩ࢝غযঠೡө? • “झо”ۄҊ Ѩ࢝ೞݶ “झо”݅ Ѩ࢝غযঠೡө? ইפݶ “झীѱ”ب Ѩ࢝غযঠೡө? • url যڌѱ Ѩ࢝ೞ? googleਸ ଢ଼ਸٸ “google.com", “https://google.com" ١ Ѩ࢝ؼ ࣻ ਸө?
Full Text - ࢝ੋ ޙࢲܳ Ѩ࢝ೡ ࣻ ח ױয(token)ਵ۽ աׇח
ஹನք Tokenizer
• ౠ షਸ ܲ షਵ۽ ߄Լח ஹನք • Ex) ࠂࣻܳ
ױࣻചदெષ, җѢഋਸ അഋਵ۽ ߄Լષ, ޙܳ ࣗޙ۽ ߄Լષ • The foxes loved the little prince => [the, fox, love, little, prince] Normalizer
None
۳ • elasticsearchীࢲח bm25ۄח ঌҊ્ܻਵ۽ ௪ܻی ޙࢲо ݃ա ҙ۲חܳ ࣻ
۽ ն • ੌ߈ਵ۽ ੜ ٜযݏח ҕध • ցޖ ൔೠ ష оܳ ծ • ష ޙࢲীࢲ ৈ۞ߣ әغݶ ࣻܳ ֫ੋ • ӡо ૣ ޙࢲо જ ੌ߈ਵ۽ ੜٜযݏח ௪ܻ৬ ޙࢲ ҙ۲ب ࣻ ҅ध
BM25 ঌҊ્ܻ https://www.elastic.co/kr/blog/practical-bm25-part-2-the-bm25-algorithm-and-its-variables • “झо જইೞח ֢ې” -> [“झ”, “જইೞ”,
“֢ې”]
Ѩ࢝ ঌҊ્ܻ / Fuzziness Why ?????
Ѩ࢝ ঌҊ્ܻ / Fuzziness - Tokenizer / Normalizer - (ઑࢎо
ੜ ܻغחо?) - Fuzziness (auto)
Ѩ࢝ ӝמ ѐߊद ӝࣿ ৻ਵ۽ Ҋ۰೧ঠೞח ࢎ೦
࠺ѐߊ ҵ ൔ ೞח য়೧
Ѩ࢝ ӝמ ӝദ != Ѩ࢝ػ ചݶ
Ѩ࢝ ߧਤ ઁݾ? ղਊ? ࢿ? ؆Ӗ? ӝఋ ݫఋؘఠ?
ஶబஎ ۳ ୭न ࢤࢿࣽ? Ѩ࢝ ب ࣽ? જইਃ ࣽ?
Ӓ৻ Ѩ࢝ ҃җ ۨ٘ য় ਬ য়ఋܳ ݃ա ࠊ Ѫੋо?
<-> ӝദ, ࢿמ زয, ਬযܳ ܻ೧ Ѫੋо <-> ҳഅ դب, ١۾ ࢿמ, Ѩ࢝ ࢿמ Ѩ࢝ ௪ܻח যוب ӡੋо <-> ҳഅ դب, Ѩ࢝ ࢿמ Ѩ࢝ ௪ܻח ױযੋо ޙੋо <-> ҳഅ դب, Ѩ࢝ ࢿמ