R&D/클라우드

elastic search 검색 결과 포맷

sunshout 2018. 9. 4. 17:18
{
  "took" : 63,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 1000,
    "max_score" : null,
    "hits" : [ {
      "_index" : "bank",
      "_type" : "account",
      "_id" : "0",
      "sort": [0],
      "_score" : null,
      "_source" : {"account_number":0,"balance":16623,"firstname":"Bradshaw","lastname":"Mckenzie","age":29,"gender":"F","address":"244 Columbus Place","employer":"Euron","email":"bradshawmckenzie@euron.com","city":"Hobucken","state":"CO"}
    }, {
      "_index" : "bank",
      "_type" : "account",
      "_id" : "1",
      "sort": [1],
      "_score" : null,
      "_source" : {"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"}
    }, ...
    ]
  }
}


검색 결과는 위와 같은 샘플로 나온다.

이 응답에서는 다음 부분이 눈에 띕니다.

  • took – Elasticsearch가 검색을 실행하는 데 걸린 시간(밀리초)
  • timed_out – 검색의 시간 초과 여부
  • _shards – 검색한 샤드 수 및 검색에 성공/실패한 샤드 수
  • hits – 검색 결과
  • hits.total – 검색 조건과 일치하는 문서의 총 개수
  • hits.hits – 검색 결과의 실제 배열(기본 설정은 처음 10개 문서)
  • hits.sort - 결과의 정렬 키(점수 기준 정렬일 경우 표시되지 않음)
  • hits._score 및 max_score - 지금은 이 필드를 무시하십시오.


기본 10개를 표시하기 때문에,

검색 결과가 10개 이상일 때는 Pagination을 활용하여 추가 쿼리를 해야 한다.



Reference: https://www.elastic.co/guide/kr/elasticsearch/reference/current/gs-search-api.html