이 문서에서는 Elasticsearch 인덱스에서 필드를 표시하는 방법에 대해 설명합니다. 이는 데이터 구조를 이해하고, 특정 필드를 식별하고, 문제를 해결하는 데 유용할 수 있습니다. 다음 주제를 다룰 예정입니다:
1. 맵핑 API를 사용하여 필드 정보 검색하기
_mapping API를 사용하면 인덱스 또는 여러 인덱스에 대한 매핑 정의를 검색할 수 있습니다. 여기에는 필드, 데이터 유형 및 기타 속성에 대한 정보가 포함됩니다. 특정 인덱스에 대한 매핑을 검색하려면 다음 요청을 사용하세요:
예를 들어 my_index 이라는 인덱스가 있는 경우 다음 요청으로 해당 인덱스의 매핑을 검색할 수 있습니다:
응답에는 필드 및 해당 속성에 대한 정보가 포함된 인덱스에 대한 매핑 정의가 포함됩니다.
특정 필드에 대한 매핑을 검색할 수도 있습니다. 매핑이 상당히 크고 특정 필드에만 집중하려는 경우 유용할 수 있습니다. 특정 필드의 매핑을 검색하려면 다음 요청을 사용하세요:
다음 요청에서와 같이 쉼표로 이름을 구분하여 여러 필드의 매핑을 검색할 수도 있습니다:
2. search API를 사용하여 필드 값 표시하기
Elasticsearch 인덱스의 필드 값을 표시하려면 _search API를 사용하면 됩니다. 기본적으로 _search API는 색인된 원본 JSON 문서가 포함된 _source 필드를 반환합니다. 특정 필드만 표시하려면 검색 요청에 _source 매개변수를 사용하면 됩니다.
다음은 my_index 인덱스에 있는 문서에 대한 title 및 author 필드 값을 반환하는 검색 요청의 예입니다:
이 예제에서 _source 매개변수는 반환할 필드를 지정합니다.
3. fields 매개변수를 사용하여 필드 필터링하기
fields 매개변수를 사용하여 검색 응답에 반환되는 필드를 필터링할 수도 있습니다. 특정 필드만 필요하고 응답의 크기를 줄이려는 경우 유용할 수 있습니다. fields 매개변수는 필드 이름 또는 와일드카드 패턴의 배열을 허용합니다.
예를 들어 my_index 색인에 있는 문서에 대해 title 및 author 필드만 반환하려면 다음 검색 요청을 사용할 수 있습니다:
소스 문서를 반환하지 않으려면 _source 매개 변수를 false로 설정해야 합니다.
text 데이터 유형이 있는 모든 필드를 반환하려면 다음과 같은 와일드카드 패턴을 사용할 수 있습니다:
4. 중첩된 필드 표시
인덱스에 중첩 필드가 포함된 경우, 점 표기법을 사용하여 fields 매개변수에서 중첩 필드 경로를 지정할 수 있습니다. 예를 들어 address.city 이라는 이름의 중첩 필드가 있는 경우 다음과 같이 검색 응답에 포함할 수 있습니다:
이 예제에서는 검색 응답에 title, author, address.city 필드의 값이 포함됩니다.
결론
결론적으로, Elasticsearch 인덱스에서 필드를 표시하려면 _mapping API를 사용하여 필드 정보를 검색하고 _search API를 사용하여 필드 값을 표시할 수 있습니다. _source 또는 fields 매개변수를 사용하여 검색 응답에 반환된 필드를 필터링하고 점 표기법을 사용하여 중첩된 필드를 표시할 수 있습니다. 이러한 기술은 데이터의 구조를 이해하고, 특정 필드를 식별하고, 문제를 해결하는 데 도움이 될 수 있습니다.




