문서 색인화 및 쿼리

edit

customer 색인에 뭔가를 추가해보겠습니다. 앞서 설명했지만, 문서를 색인화하려면 Elasticsearch에게 색인의 어떤 유형을 선택할지 알려줘야 합니다.

다음과 같이 어떤 간단한 고객 문서를 customer 색인, "external" 유형으로 색인화하고 ID는 1로 하겠습니다.

PUT /customer/external/1?pretty
{
  "name": "John Doe"
}

응답은 다음과 같습니다.

{
  "_index" : "customer",
  "_type" : "external",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "created" : true
}

customer 색인 및 external 유형에 새 고객 문서가 성공적으로 생성되었음을 알 수 있습니다. 또한 색인화 시점에 지정한 대로 이 문서의 내부 ID는 1입니다.

Elasticsearch에서는 문서를 색인화하기 전에 명시적으로 색인을 생성할 필요가 없다는 점도 중요합니다. 앞의 예에서 Elasticsearch는 customer 색인이 아직 없으면 자동으로 생성합니다.

방금 색인화한 문서를 검색해보겠습니다.

GET /customer/external/1?pretty

응답은 다음과 같습니다.

{
  "_index" : "customer",
  "_type" : "external",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source" : { "name": "John Doe" }
}

여기서 특이한 점이라면 `found`라는 필드인데, 요청된 ID 1에 해당하는 문서를 찾았다고 알려줍니다. 또 다른 필드 `_source`는 이전 단계에서 색인화한 전체 JSON 문서를 반환합니다.