์ธ๋ฑ์ค ์ค๋ช
ํ์ฌ review ์ธ๋ฑ์ค๋ฅผ ์์ฑํ์๊ณ , review ์ธ๋ฑ์ค์ ํ๋๋ ์๋์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์๋ค.
"mappings": {
"properties": {
"prd_id": {
"type": "text"
},
"review_id": {
"type": "text"
},
"review": {
"type": "text"
},
"genders": {
"type": "rank_features"
}
}
}
๋งค์นญ ์ฟผ๋ฆฌ
์ ๋ฌธ(Full-text query) ์ฟผ๋ฆฌ๋ก Match ํค์๋๋ฅผ ๊ฐ์ง๊ณ ๊ฒ์ํ๋ ์ฟผ๋ฆฌ์ด๋ค.
match์์ ์ฌ์ฉํ๋ ๊ฒ์์ด๋ ํ ํฐํ๊ฐ ๋์ด ๊ฒ์ํ๋ค. ์ ์ฅ๋ ์๋ฌธ ์ญ์ ํ ํฐํ ๋์ด ์ ์ฅ๋์ด ์์ด ๊ฐ๋ฅํ๋ค.
ํ๋์ ์ฉ์ด๋ฅผ ๊ฒ์ํ๋ ์ฟผ๋ฆฌ
GET review/_search
{
"_source": ["review"],
"query": {
"match": {
"review": {
"query": "์ค๋ฒํ"
}
}
}
}
ํ๋์ ์ฉ์ด๋ฅผ ๊ฒ์ํ๋ ์ฟผ๋ฆฌ์์ ํค์๋ ์ฌ์ด์ ๊ณต๋ฐฑ์ด ์๋ค๋ฉด or๋ก ์ธ์, ํ ํฐํ ๋์ด ๊ฒ์๋๋ค.
GET review/_search
{
"_source": ["review"],
"query": {
"match": {
"review": {
"query": "์ค๋ฒํ ๋งจํฌ๋งจ"
}
}
}
}
๋ง์ฝ and ์กฐ๊ฑด์ผ๋ก ๊ฒ์ํด์ผ ํ๋ค๋ฉด ์๋ ์ฒ๋ผ ์์ฑํ๋ฉด ๋๋ค.
GET review/_search
{
"_source": ["review"],
"query": {
"match": {
"review": {
"query": "์ค๋ฒํ ๋งจํฌ๋งจ",
"operator": "and"
}
}
}
}
๋งค์น ํ๋ ์ด์ฆ ์ฟผ๋ฆฌ(Match-Phrase)
๊ตฌ(phrase)๋ฅผ ๊ฒ์ํ๋ ์ฟผ๋ฆฌ์ด๋ค. ์ฆ, 2๊ฐ ์ด์์ ๋จ์ด๊ฐ ์ฐ๊ฒฐ๋ ๋ฌธ๊ตฌ๋ฅผ ์กฐํํ ๋ ์ฌ์ฉํ๋ค.
์ด๋ ๋จ์ด ์์๊น์ง ๊ณ ๋ คํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ถ์ถํ๋ค.
์) ๋นจ๊ฐ ๋ฐ์ง, ๋ฐ์ง ๋นจ๊ฐ์์ ๊ฒ์ ์๋๊ฐ ์ ํ ๋ค๋ฅผ ์ ์๋ค.
// ์ด์ ๋งจํฌ๋งจ
GET review/_search
{
"_source": ["review"],
"query": {
"match_phrase": {
"review": "์ด์ ๋งจํฌ๋งจ"
}
}
}
๊ฒ์ ๊ฒฐ๊ณผ
"review" : "์ด์ ๋งจํฌ๋งจ ์ ๋นํ๊ฒ ์ ์๋ค์. ์ด์์ํ ๊ฐ์ฌํฉ๋๋ค."
"review" : "๋์ ๋ง๋ ๋งจํฌ๋งจ์ด๋ค์ใ
ใ
ใ
์ด์ ๋งจํฌ๋งจ ์ ๋ ดํ๊ฒ ๊ตฌ์
ํ๊ณ ๊ฐ์ ์ข์ต๋๋ค~~"
//๋งจํฌ๋งจ ์ด์
GET review/_search
{
"_source": ["review"],
"query": {
"match_phrase": {
"review": "๋งจํฌ๋งจ ์ด์"
}
}
}
๊ฒ์ ๊ฒฐ๊ณผ
"review" : "ํ์คํ
ํค ๋งจํฌ๋งจ ์ด์ ๋น๋ฐ์คํ๋์ค ๊ฐ์ถํฉ๋๋ค"
"review" : "๊ทธ๋ฅ ์ง์ง ๋ฌด๋ํ ๋งจํฌ๋งจ ์ด์ ์์ฐํฐ ์ด๋๋ก ์
๊ธฐ ์ ๋น"
๐ฅ ์ฉ์ด(term) ์ฟผ๋ฆฌ๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋, ํ์ฌ ์ค์ ํ๋ ํ๋ ํ์ ์ด ๋ง์ง ์์๋ค. ๋ชจ๋ text ํ์ ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ํ ์คํธ ๋ด ํค์๋๋ฅผ ๊ฐ๋ณ ๊ฒ์ํ๋ ๊ธฐ๋ฅ์ด ๋์ํ์ง ์์๋ค. ๊ทธ๋์ ์ด๋ฒ ๊ธฐํ์ nori-filter๋ฅผ ์ ์ฉํ๊ฑฐ๋ text ๋ด๋ถ์ keyword ํ๋๋ฅผ ์ ์ฉํ๋ ์ฐ์ต์ ํด์ผ๊ฒ ๋ค!