MySQL์ Full-Text Search์์ ๋จ์ด๋ฅผ ํ์ฑํ์ฌ ๊ฒ์ํ๋ ๊ณผ์ ์์ ํ์ํ paser ์ค ํ๋์ด๋ค.
์ด์ ์ ํ๋ก์ ํธ์์ ์ฌ์ฉํด๋ณธ ์ ์ด ์๋๋ฐ, ๋น์ ์์ฑ์๋ง ๋๋ฌด ๊ธ๊ธํด์ ์ง๋ํ๊ฒ ๋ฌธ์๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ ๋๋ก ์ดํดํ๊ธฐ ์ํด ์ ๋ฆฌํด๋ณด์
ngram parser
๋ ๋ฌธ์์ด์ n๊ฐ์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ์ฐ์๋ ์ํ์ค๋ก tokenize
ํ๋ค.
string = "abcd"
n=1: 'a','b','c','d'
n=2: 'ab','bc','cd'
n=3: 'abc','bcd'
n=4: 'abcd'
ํ๊ธ์ ์ด๋ป๊ฒ ํ ๊น?
# if token size = 2
string = "๋นต์ ์ปคํผ๋ ๋จน์ผ๋ฉด ๋ง์๋ค"
["๋นต์","์ปคํผ","ํผ๋","๋จน์ผ","์ผ๋ฉด","๋ง์","์๋ค"]
ํ ํฐํ ํ ๋ ๋์ด์ฐ๊ธฐ(๊ณต๋ฐฑ)์ ๋ฌด์๋๋ค.
- ์์
ngram parser
์ ๊ธฐ๋ณธ ํ ํฐ ์ฌ์ด์ฆ๋ 2(bigram)
์ด๋ค.