[Elasticsearch] Elasticsearch에 Array 타입이 있나?
없다.
opensearch를 쓰고있지만 관련 문서는 Elasticsearch Docs에만 있어서 일단 ES로 표기하지만..
오늘 테스트해본 바로는 opensearch에도 동일하게 적용된다. 애초에 거의 비슷하니..
Elasticsearch에는 Array 데이터 타입이 없으나, 0개나 N개를 포함할 수 있다.
Array 형태로 삽입하는것은 문제가 없으나, 그 원소들은 모두 동일한 데이터 타입을 가져야 한다.
- String Array : [ "one", "two" ]
- Integer Array : [ 1, 2 ]
- 2차원 Array : [ 1, [ 2, 3 ]] 는 [ 1, 2, 3 ] 와 동일하게 취급한다.
- Object Array : [ { "name": "Mary", "age": 12 }, { "name": "John", "age": 10 }]
object array를 표현하기 위해서 자료를 찾아보던 중이였는데,
한개를 넣던 두개로 배열로 넣던.. 상관 없다고 한다.
실제로 update 쿼리를 날려 업데이트도 해봤는데 0개든지 1개든지 n개든지 정상 작동하고,
잘 적용된다.
참고자료
https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html