출처
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html
http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/analysis-intro.html
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-analyzer-field.html
Elasticsearch의 index 속성은 가장 내가 잘 이해 못했던 내용 중의 하나이다. index 용어를 많이 쓰이기도 하지만, 번역(책)에서 불러 일으키는 오해도 약간 있는 듯 하다.
"user" : {
"type" : "string",
"index" : "not_analyzed",
"norms" : {
"enabled" : false
}
}
index는 analyzer 적용을 할지 안할지를 결정한다. 3가지 값 중 하나가 들어간다.
1. analyzed - analyzer가 있다는 뜻이다. (또는 custom 정의 analyzer가 있다.) analyzed는 "broken down into searchable terms"로 만든다는 것이다. 토큰으로 잘라 검색한다. "back to the future" 라는 단어는 'back', 'to', 'the', 'future'라는 토큰으로 나누어진다는 것을 의미
2. not_analyzed - analyzer가 없다. (또는 built in analyzer를 쓰지 않는다는 얘기이다.)
배열로 멀티 검색할 때는 not_analyzed를 써야 한다.
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-array-type.html
3. no - indexing하지 않는다. 순수하게 저장용으로 쓸 때 유용하다.
'Elasticsearch' 카테고리의 다른 글
es의 RAMIndexStore 사용하기 전 유의사항 (0) | 2015.03.04 |
---|---|
Elasticsearch의 query와 filter의 비교 (0) | 2015.03.04 |
[es] elasitcsearch 서버를 재시작/추가하는 방법 (0) | 2015.03.03 |
[es] 인덱스 생성/수정/삭제하기 - 예제 (특정 property 삭제/변경은 위험) (0) | 2015.03.03 |
[es] 공부 자료 URL (0) | 2015.02.26 |