블로그

Elasticsearch 인덱스에 필드 표시하기

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

Elasticsearch에 데이터를 수집하는 다양한 방법을 살펴보고 실제 예제를 통해 새로운 방식도 시도해 보세요.

Elasticsearch는 여러분의 사용 사례에 가장 적합한 검색 솔루션을 구축하는 데 도움이 되는 새로운 기능으로 가득 차 있습니다. 지금 무료 클라우드 체험판 을 시작하거나 로컬 컴퓨터 에서 Elastic을 사용해 보세요.

이 문서에서는 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 인덱스에 있는 문서에 대한 title 및 author 필드 값을 반환하는 검색 요청의 예입니다:

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

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

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

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

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

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의 만남: 늦게 도착하는 데이터를 거부하지 않는 시계열 데이터 스트림 설계

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

Bret Wortman
코드로서의 Elastic Open Web Crawler

코드로서의 Elastic Open Web Crawler

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

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

JD Armada
Logstash의 루비 스크립팅

Logstash의 루비 스크립팅

Dai Sugimori
색인에서 Elasticsearch 필드 제외하기

색인에서 Elasticsearch 필드 제외하기

Kofi Bartlett

최첨단 검색 환경을 구축할 준비가 되셨나요?

충분히 고급화된 검색은 한 사람의 노력만으로는 달성할 수 없습니다. Elasticsearch는 여러분과 마찬가지로 검색에 대한 열정을 가진 데이터 과학자, ML 운영팀, 엔지니어 등 많은 사람들이 지원합니다. 서로 연결하고 협력하여 원하는 결과를 얻을 수 있는 마법 같은 검색 환경을 구축해 보세요.