์ด๋ฒ์๋ ElasticSearch ๋ฅผ ์ฐ๋ ์ด์ ์ค ํ๋์ธ ์ ๋ฌธ๊ฒ์ (Full Text Search) ์ ๊ฐ๋จํ ๊ธฐ๋ฅ์ ์์๋ณด๊ณ ์ ํฉ๋๋ค.
์ด ๋ถ๋ถ์ ๋ํด์๋ ๋ด์ฉ์ด ์๋ ๋ฐฉ๋ํ๋ค๋ณด๋ ์ ๊ธ์ ๋ง๋ณด๊ธฐ ์ฉ์ผ๋ก ์๊ฐํด์ฃผ์๊ณ Elasticsearch ๊ฐ์ด๋๋ถ ์ ๋ ์ฐธ๊ณ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.!
์ ๋ฌธ๊ฒ์์ ๊ฐ๋จํ ์์๋ก ๋ค์ด๋ฒ์ ๊ฒ์, ๊ตฌ๊ธ์ ๊ฒ์ ๊ธฐ๋ฅ์ ์๊ฐํ์๋ฉด ํธํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง์ธ ํน์ ๋จ์ด์ ํฌํจ ์ฌ๋ถ, ์กฐ๊ฑด๋ฌธ์ ๊ธฐ๋ฅ๊ณผ ์ ์ฌํ์ง๋ง ํน์ ๋จ์ด์์ ์๊ด๊ด๊ณ์ ๋ํ ์์ธ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ด ์๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
๊ธ๋ก๋ง ์ฝ์ด๋ ์์ฒญ ๋ณต์กํฉ๋๋ค. ๋ฐ๋ก ์์ ๋ค์ด๊ฐ๊ฒ ์ต๋๋ค.
์ผ๋จ ElasticSearch ์ Kibana ๋ฅผ ์ผ ์ฃผ์๊ณ Kibana DevTools ๋ก ๋ค์ด๊ฐ์ฃผ์ธ์! ์ด์ ์ ํ์ผ๋ ์ฌ๋ฌ๋ถ ๋ค ํ ์ ์์ต๋๋ค!
๋จผ์ ์ด์ ์ ๋ฐฐ์ด bulk ํค์๋๋ฅผ ํตํด ๊ฒ์ํ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ์์ฑํฉ์๋ค!!
copy copy~
POST _bulk
{ "index" : { "_index*" : "test", "_id" : "1" } }
{ "field1" : "i love my cute cat" }
{ "index" : { "_index" : "test", "_id" : "2" } }
{ "field1" : "my dog is so big" }
{ "index" : { "_index" : "test", "_id" : "3" } }
{ "field1" : "i am big" }
{ "index" : { "_index" : "test", "_id" : "4" } }
{ "field1" : "my girl friend is cute" }
์ ์ผ ๋จผ์ ๊ฐ๋จํ ๊ฒ์์ธ URI ๊ฒ์๋ถํฐ!
GET test/_search?q=dog
์ ๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ๊ฒ๋๋ค!
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 1.1516262,
"hits" : [
{
"_index" : "test",
"_type" : "_doc",
"_id" : "2",
"_score" : 1.1516262,
"_source" : {
"field1" : "my dog is so big"
}
}
]
}
}
"hits" ํ๋๋ฅผ ์ฃผ๋ชฉํฉ์๋ค. ๋ง์ฝ ํด๋น ๊ฒ์์์ ์๋ฌด๋ฐ ๊ฒฐ๊ณผ๊ฐ ์๋ค๋ฉด ์ด ํ๋์์๋ ์๋ฌด ๊ฐ์ด ์์ต๋๋ค.
"hits" ํ๋ ์์ ๋ด์ฉ์ ์ ๋ณด์๋ฉด _score ํญ๋ชฉ์ด ์์ต๋๋ค. ์์์ ๊ฒ์ํ ํค์๋์ธ "dog" ์ ์ผ๋ง๋ ์๊ด๊ด๊ณ๊ฐ ์๋์ง์ ๋ํ ์ ์ ์
๋๋ค. ์ ๋ง ์ ์ฉํ ์งํ์ฃ ?
URI ๊ฒ์์
GET <index>/_search=?q=<value>
์ ๊ฐ์ ํํ์ ๊ฒ์์ ๋งํฉ๋๋ค. Request Body ์ ์ต์
์ ๋ถ์ฌ์ ๋ ์์ธํ ๊ฒ์์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ค์ ๋ช
๋ น์ด๋ test ์ธ๋ฑ์ค์ field1 ์ ํ๋์์๋ง "dog" ๋ฅผ ๊ฒ์ํ๋ ๊ธฐ๋ฅ์
๋๋ค.
GET test/_search
{
"query": {
"match": {
"field1": "dog"
}
}
}
๋ง์ฝ ํน์ ์ธ๋ฑ์ค์ ๋ชจ๋ document ๋ฅผ ๊ฒ์ํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํด์ฃผ์ธ์!.
GET my_index/_search
{
"query":{
"match_all":{ }
}
}
์์์ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ๋ฐฐ์ ์ต๋๋ค.
๋ค์์๋ ์ข๋ ์ฌํ๋ด์ฉ์ ๋ฐฐ์๋ด ์๋ค! ๋ค์ ๋ด์ฉ์ ๋ณด๊ธฐ ์ ์ ์ปคํผ ์ค์ฝ~ ์คํธ๋ ์นญ ์ญ์ฑ ํ๊ณ ์ค์ธ์ฉ~๐งก๐งก
๊ตฌ๋ !