<<해당 인덱스의 템플릿 조정>>
- settings
"settings" : {
"index" : {
"analysis" : {
"analyzer" : {
"korean" : {
"type" : "custom",
"tokenizer" : "seunjeon_default_tokenizer"
}
},
"tokenizer" : {
"seunjeon_default_tokenizer" : {
"type" : "seunjeon_tokenizer",
"index_eojeol" : "false",
"decompound" : "false"
}
}
}
}
}
- mapping
분석하고 싶은 필드값에 추가
"contents" : {
"type" : "text",
"analyzer" : "korean"
}
<<결과>>
다음과 같이 "강아지"로 리퀘스트를 보내 줬을 때, "강아지가 귀여워" 가 검색된닷
GET sample4/_search
{
"query": {
"match": {
"contents": "강아지"
}
}
}
"contents" : "강아지는 귀여워",
"mdate" : "2020-02-03T15:00:06.000Z",
"blocked_type" : 0,
"category" : null,
"view_yn" : 0,
"contents_type" : 3
<<참고>>
1. analyzer와 search analyzer는 서로 다른 분석기로 설정 가능
2. "match" 쿼리: inverted index에 저장되는 토큰에서 "분석"하여 찾아줌 - "강아지"로 "강아지는 귀여워" 못찾는다
3. "term" 쿼리: inverted index에 저장되어 있는 토큰에서 찾아줌
'Elasticsearch' 카테고리의 다른 글
logstash + amazon_es + jdbc: how to update and insert data (0) | 2020.02.04 |
---|---|
Logstash + Amazon_es + kibana: 데이터 삽입 (0) | 2020.01.31 |