블로그

Elasticsearch 인덱스에 필드 표시하기

Elasticsearch 인덱스에서 필드를 표시하는 기술 살펴보기.

Check out the different ways to ingest data into Elasticsearch and dive into practical examples to try something new.

Elasticsearch is packed with new features to help you build the best search solutions for your use case. Start a free cloud trial or try Elastic on your local machine now.

이 문서에서는 Elasticsearch 인덱스에서 필드를 표시하는 방법에 대해 설명합니다. 이는 데이터 구조를 이해하고, 특정 필드를 식별하고, 문제를 해결하는 데 유용할 수 있습니다. 다음 주제를 다룰 예정입니다:

  1. _mapping API를 사용하여 필드 정보 검색하기

  2. API를 사용하여 필드 값 표시_search

  3. 매개 변수를 사용하여 필드 필터링 fields

  4. 중첩된 필드 표시

1. 맵핑 API를 사용하여 필드 정보 검색하기

_mapping API를 사용하면 인덱스 또는 여러 인덱스에 대한 매핑 정의를 검색할 수 있습니다. 여기에는 필드, 데이터 유형 및 기타 속성에 대한 정보가 포함됩니다. 특정 인덱스에 대한 매핑을 검색하려면 다음 요청을 사용하세요:

GET /<index_name>/_mapping

예를 들어 my_index 이라는 인덱스가 있는 경우 다음 요청으로 해당 인덱스의 매핑을 검색할 수 있습니다:

GET /my_index/_mapping

응답에는 필드 및 해당 속성에 대한 정보가 포함된 인덱스에 대한 매핑 정의가 포함됩니다.

특정 필드에 대한 매핑을 검색할 수도 있습니다. 매핑이 상당히 크고 특정 필드에만 집중하려는 경우 유용할 수 있습니다. 특정 필드의 매핑을 검색하려면 다음 요청을 사용하세요:

GET /my_index/_mapping/field/my_field

다음 요청에서와 같이 쉼표로 이름을 구분하여 여러 필드의 매핑을 검색할 수도 있습니다:

GET /my_index/_mapping/field/my_field_1,my_field_2,my_field_3

2. search API를 사용하여 필드 값 표시하기

Elasticsearch 인덱스의 필드 값을 표시하려면 _search API를 사용하면 됩니다. 기본적으로 _search API는 색인된 원본 JSON 문서가 포함된 _source 필드를 반환합니다. 특정 필드만 표시하려면 검색 요청에 _source 매개변수를 사용하면 됩니다.

다음은 my_index 인덱스에 있는 문서에 대한 titleauthor 필드 값을 반환하는 검색 요청의 예입니다:

GET /my_index/_search
{
  "query": {
    "match_all": {}
  },
  "_source": ["title", "author"]
}

이 예제에서 _source 매개변수는 반환할 필드를 지정합니다.

3. fields 매개변수를 사용하여 필드 필터링하기

fields 매개변수를 사용하여 검색 응답에 반환되는 필드를 필터링할 수도 있습니다. 특정 필드만 필요하고 응답의 크기를 줄이려는 경우 유용할 수 있습니다. fields 매개변수는 필드 이름 또는 와일드카드 패턴의 배열을 허용합니다.

예를 들어 my_index 색인에 있는 문서에 대해 titleauthor 필드만 반환하려면 다음 검색 요청을 사용할 수 있습니다:

GET /my_index/_search
{
  "query": {
    "match_all": {}
  },
  "fields": ["title", "author"],
  "_source": false
}

소스 문서를 반환하지 않으려면 _source 매개 변수를 false로 설정해야 합니다.

text 데이터 유형이 있는 모든 필드를 반환하려면 다음과 같은 와일드카드 패턴을 사용할 수 있습니다:

GET /my_index/_search
{
  "query": {
    "match_all": {}
  },
  "fields": ["*.text"],
  "_source": false
}

4. 중첩된 필드 표시

인덱스에 중첩 필드가 포함된 경우, 점 표기법을 사용하여 fields 매개변수에서 중첩 필드 경로를 지정할 수 있습니다. 예를 들어 address.city 이라는 이름의 중첩 필드가 있는 경우 다음과 같이 검색 응답에 포함할 수 있습니다:

GET /my_index/_search
{
  "query": {
    "match_all": {}
  },
  "fields": ["title", "author", "address.city"],
  "_source": false
}

이 예제에서는 검색 응답에 title, author, address.city 필드의 값이 포함됩니다.

결론

결론적으로, Elasticsearch 인덱스에서 필드를 표시하려면 _mapping API를 사용하여 필드 정보를 검색하고 _search API를 사용하여 필드 값을 표시할 수 있습니다. _source 또는 fields 매개변수를 사용하여 검색 응답에 반환된 필드를 필터링하고 점 표기법을 사용하여 중첩된 필드를 표시할 수 있습니다. 이러한 기술은 데이터의 구조를 이해하고, 특정 필드를 식별하고, 문제를 해결하는 데 도움이 될 수 있습니다.

관련 콘텐츠

TSDS와 ILM의 만남: 늦게 도착하는 데이터를 거부하지 않는 시계열 데이터 스트림 설계

Bret Wortman

코드로서의 Elastic Open Web Crawler

Gustavo Llermaly

Elasticsearch 인덱스의 필드를 표시하는 방법

JD Armada

Logstash의 루비 스크립팅

Dai Sugimori

색인에서 Elasticsearch 필드 제외하기

Kofi Bartlett