1.document id 는 index(순서)의 기능을 할 수 없다.
엘라스틱 서치는 하나의 row를 document(줄여서 doc)로 명칭하는데.
document의 필수 파라미터인 id 는 RDBMS 처럼 자동으로 auto increment 해주는 기능이없다.
보통 문자열의 형식으로 숫자가 들어가는데 숫자가 아니여도 상관없다.(필수가 아닌 선택사항임)
차례대로 검색하는 것이 아닌 역 인덱싱 방식이라 필요가 없어서 그런게 아닐까 싶다.
2. 이미 있는 id에 다른 데이터를 넣으면(PUT) 덮어씌운다.
이미 해당하는 id 값에 데이터가 있다면 에러를 발생시키거나 어떤 처리를 할지 묻는게 보통인데.
그냥 데이터를 덮어씌워버린다.
3. 데이터를 추가할때 append 기능(맨 뒤에 추가)이 없다.
에초에 데이터의 순서(index)가 없기 때문에 맨 뒤라는 것을 알 수 없다.
그래서 맨 뒤의 데이터를 삽입하려면 직접 구현해야한다.
나는 idx 라는 파라미터를 추가했고 idx의 max를 집계하여 +1을 해서 데이터를 이어서 추가하도록 구현했다.
* 쿼리를 두 번 실행해야함.
4. document id 는 집계를 할 수 없다.( 최대값 , 최소값을 구할 수 없다)
idx라는 파라미터를 추가하지않고 id 값으로 max를 집계하면 되지않을까 생각을 했지만
idx 는 int 형으로 지정해서 맵핑하고
id값은 자동으로 text로 맵핑되기 때문에 id값으로 최대값을 집계하면 (text:문자열)을 정렬하는 꼴이 되어 최대값이 "100"을 넘지 않는다.
* 그래서 int형으로 맵핑된 idx 를 사용함.
5. 10,000개 이상은 검색이 안된다.(설정으로 늘릴 수는 있음)
최대 10,000개 까지 검색을 할 수 있다고 생각할 수 있는데 그게 아니라.
10,000개를 넘기는 검색이 아예 안된다.
0~10,000개 까지 10,000개 검색 가능
10,000~10,001개 까지 1개 검색 불가능
즉, 갯수의 상관없이 10,000이라는 숫자를 넘으면 검색이 불가능하다.
scroll API , search_after 라는 기능을 사용해서 가능하도록 구현할 수 있다.(*기본 검색은 10,000이상 불가능)
--------------발견시 추가 예정------------------------
'API > ElasticSearch' 카테고리의 다른 글
[ElasticSearch]. 다중 검색 종류 비교 : 비동기 검색(async_search) VS 멀티 서치(msearch) (0) | 2022.08.23 |
---|---|
[ElasticSearch]. 크론탭(crontab)으로 리눅스 서버 꺼지면 자동 재실행 하기 (0) | 2022.08.14 |
[ElasticSearch] SSL/TLS security https setting 외부에서 접속하기( version 8.x) (0) | 2022.04.06 |
[elasticSearch] 엘라스틱 서치 클라우드 배포 &셋팅하기 (0) | 2022.03.11 |
[ElasticSearch]. 엘라스틱 서치 서버 셋팅하기 (0) | 2021.12.04 |