[엘라스틱서치] object field를 구현 하는 이유 - forewalk/elastic GitHub Wiki

Elasticsearch

ojbect field


object 필드를 구현하는 이유는 정리하면 다음과 같다. 하나의 키워드가 오브젝트로 분절되었을때, 순서의 의미가 있어야 object field가 의미가 있다.

이게 무슨 말이냐면, 단순 필드명을 가지고 멀티필드로 만들어서 analyzer나 type을 다르게 가져가는 것은 object할 이유가 없다.

버전과 같이 예(7.4.1 = 메이저, 마이너, 패치) 와 같이 순서에 의미가 있어야 한다. 7.4.1의 필드를 major 필드에 7 minor 필드에 4 patch에 1을 달아야 검색을 하는것도 의미가 있어지는 것이다.

또 하나의 예로 버전이 아닌 title같은 경우 만약, 어떠한 규칙. 예를들면 title에서 첫번째 _가 오기전엔 무조껀 '지역명' 등과 같은 의미가 있다면 분절하여 object로 만드는게 큰 의미가 있다. 해당의 지역명을 단순 text등의 불명확한 분절검색 결과가 아닌 keyword화 시킬 수 있으니,

근데, 그것이 아니라면, 이게 의미가 있나... 고민해봐야 할 것이다. 의미가 있는 정보데이터 즉 전화번호, 주소, 차량번호, 주민번호 이런걸 오브젝트로 만든다면 의미가 있다.

참고