kok202
엘라스틱 서치 인덱스 동적 생성, 해쉬, 데이터 저장?

2019. 3. 19. 19:51[개발] 기록/오늘의 고민

해결 

createIndex(string) 이후  putMapping에 XContentBuilder로 만든 mapping 데이터를 넘기는 식으로 구현.

XContentBuilder를 자동화하기 위해 class파일의 필드 이름과 필드에 적용된 Annotation을 추출하는 클래스를 만듬




문제상황

1. 테스트 코드는 잘 동작하는데 프로그램은 동작하지않는다.

2. 엘라스틱 서치에 Hash 데이터를 넣어야한다. 어떻게 해야하는가? 

=> nested나 object를 사용한다는데

=> 해쉬 데이터는 mapping 파일에 어떤식으로 써야하는가?

=> Entity에 적용된 Annotation을 바탕으로 XContentBuilder는 해쉬 필드에 어떻게 접근할 것인가?




TODO 문제상황

스프링부트가 지원하는 엘라스틱 서치 데이터 저장 방법이 모두 엔티티에 @Document를 적어서 저장하는 방식이다

같은 포맷의 데이터를 다른 이름의 인덱스에 저장해야한다

그러기위해선 고정적인 인덱스이름을 사용하는 @Document를 사용해선 안된다.

=> 엘라스틱 서치 서버에 post 하는 api를 직접 호출하는 방식으로 해도 괜찮을까?