Acdong
Learn by doing
Acdong
전체 방문자
오늘
어제
  • 분류 전체보기
    • Economy
      • Saving Money
    • Self-improvement
    • Thoughts
    • Machine learning
      • Deep Learning
      • Chatbot
      • NLP
    • MLops
      • AWS
      • Container
      • Serving
    • Computer Vision
    • Data Science
      • ADsP
      • R
    • Project
    • Python
      • Data Structure & Algorithm
    • C,C++
    • API
      • ElasticSearch
    • Error Note
    • Network
    • RDBMS
      • SQL

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • [GitHub]

인기 글

태그

  • c포인터
  • Python
  • 존댓말 반말 분류
  • 이미지 전처리
  • 포인터
  • R시각화
  • pandas
  • 어텐션
  • 다중공선성
  • nlp
  • plot()
  • SentenceTransformer
  • 기계학습
  • sbert
  • Numpy
  • 데이터 전처리
  • R그래프
  • 회귀계수
  • 머신러닝
  • R

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Acdong

Learn by doing

API/ElasticSearch

[ElasticSearch]. 개발하면서 발견한 특징들

2022. 2. 24. 13:48
728x90

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
    'API/ElasticSearch' 카테고리의 다른 글
    • [ElasticSearch]. 크론탭(crontab)으로 리눅스 서버 꺼지면 자동 재실행 하기
    • [ElasticSearch] SSL/TLS security https setting 외부에서 접속하기( version 8.x)
    • [elasticSearch] 엘라스틱 서치 클라우드 배포 &셋팅하기
    • [ElasticSearch]. 엘라스틱 서치 서버 셋팅하기
    Acdong
    Acdong
    E-mail : alswhddh@naver.com / 자연어처리와 MLops 를 연구하고 있는 스타트업 개발자입니다.

    티스토리툴바