ElasticSearch์˜ ๋ถ„์„(Analysis)์ด๋ž€?

  • ๊ฒ€์ƒ‰์–ด๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค

๋ถ„์„์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?

Analyzer Pipeline

  • ํ•˜๋‚˜์˜ Analyzer๋Š” Char Filter, Tokenizer, Token Filter๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ํ•˜๋‚˜์˜ ๋ฐฐ์น˜ ํ”„๋กœ๊ทธ๋žจ.
  • Custom Analyzer๋ฅผ ์ƒ์„ฑ ์ถ”๊ฐ€ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ถ„์„์— ํ•„์š”ํ•œ ๊ตฌ์„ฑ์š”์†Œ

Char Filters

  • ์ž…๋ ฅ๋œ ์›๋ณธ์˜ ํ…์ŠคํŠธ๋ฅผ ๋ถ„์„์— ํ•„์š”ํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• 

Tokenizer

  • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค์ •๋œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰์–ด ํ† ํฐ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์—ญํ• 
  • standard
    • -, []์™€ ๊ฐ™์€ ๊ธฐํ˜ธ๋Š” ๊ตฌ๋ถ„์ž๋กœ ์ธ์‹ํ•˜๊ณ  ๋ถ„๋ฆฌํ•œ๋‹ค.
  • whitespace
    • ๋„์–ด์“ฐ๊ธฐ, ํƒญ, ์ค„๋ฐ”๊ฟˆ๊ณผ ๊ฐ™์€ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐ ๋ถ„๋ฆฌ
  • nGram
    • ์ตœ์†Œ-์ตœ๋Œ€ ๊ธธ์ด์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋“ค์„ ํ† ํฐ์œผ๋กœ ๋ถ„ํ• ํ•œ๋‹ค.
    • ์ค‘์š”ํ•œ ํ•„๋“œ๋ฅผ ๋‘์„ธ ๊ฐœ์˜ ๋ฌธ์ž๋งŒ ๊ฐ€์ง€๊ณ ๋„ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ
    • ๊ฒ€์ƒ‰์–ด ํ† ํฐ์ด ๋งŽ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์‹œ์Šคํ…œ ๋ถ€ํ•˜ ์—ญ์‹œ ์ฆ๊ฐ€ํ•œ๋‹ค.
  • edgeNGram
    • nGram์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ edgeNGram
    • ๊ฒ€์ƒ‰์–ด์˜ ๋ชจ๋“  ๊ฐ’์„ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฌธ์žฅ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„๋งŒ ๋ถ„ํ• ํ•œ๋‹ค.
  • keyword
    • ์ž…๋ ฅ๋œ ๋ฌธ์žฅ ์ „์ฒด๋ฅผ ํ•˜๋‚˜์˜ ์‹ฑ๊ธ€ ํ† ํฐ์œผ๋กœ ์ €์žฅ
  • letter
    • ์•ŒํŒŒ๋ฒณ์ด ์•„๋‹Œ ๊ณต๋ฐฑ/ํŠน์ˆ˜๋ฌธ์ž ๊ธฐ์ค€์œผ๋กœ ๊ฒ€์ƒ‰์–ด ํ† ํฐ ๋ถ„๋ฆฌ
    • ์•„์‹œ์•„ ์“ฐ๋Š” ์–ธ์–ด์—์„œ๋Š” ์˜ค๋™์ž‘ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
  • lowercase
    • letter โ†’ lowercase filter ์ ์šฉํ•œ ๊ฒƒ๊ณผ ๋™์ผ

Token Filter

  • ๋ถ„๋ฆฌ๋œ ํ† ํฐ๋“ค์— ๋‹ค์‹œ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ด์„œ ์‹ค์ œ๋กœ ๊ฒ€์ƒ‰์— ์“ฐ์ด๋Š” ๊ฒ€์ƒ‰์–ด๋“ค๋กœ ์ตœ์ข… ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• 
  • ๋ถ„์„๋‹จ๊ณ„์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ณผ์ •
  • porter_stem
    • Porter Stemming ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•œ ํ˜•ํƒœ์†Œ ๋ถ„์„์„ ํ•˜๋Š” ํ† ํฐํ•„ํ„ฐ
    • lowercase ํ† ํฌ๋‚˜์ด์ €๋ฅผ ๋ฏธ๋ฆฌ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค.
  • shingle
    • ๋ฌธ์ž์—ด์„ ํ† ํฐ-Ngram ๋ฐฉ์‹์œผ๋กœ ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋Šฅ
  • word_delimiter
    • ์ž…๋ ฅ๋œ ๋ฌธ์žฅ์˜ ๋‹จ์–ด๋ฅผ ๋” ์„ธ๋ถ€์ ์œผ๋กœ ๋ถ„ํ• ํ•˜๊ฑฐ๋‚˜ ๋ณ‘ํ•ฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ์˜ต์…˜๋“ค์„ ์ œ๊ณต
  • snowball
    • ์›ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ† ํฐ Filter
      • days โ†’ day

ํ•œ๊ตญ์–ด ํ˜•ํƒœ์†Œ ๋ถ„์„๊ธฐ

Reference