Elasticsearch에서 특정 인덱스에 있는 데이터를 조회하거나 검색하는 방법에는 여러 가지가 있습니다. test
인덱스의 데이터를 조회하고, **user
**와 message
필드를 검색하는 방법을 알아보겠습니다.
인덱스에 저장된 모든 문서를 조회하려면 _search
엔드포인트와 함께 GET 또는 POST 요청을 사용할 수 있습니다. 아래는 test
인덱스의 모든 데이터를 가져오는 간단한 예시입니다:
curl -X GET "43.201.88.182:9200/**test**/_search" -H "Content-Type: application/json" -d'
{
"query": {
"match_all": {}
}
}'
이 요청은 test
인덱스에 저장된 모든 문서를 검색합니다.
**user
**와 message
필드를 기반으로 검색하려면, 다음과 같이 검색 쿼리를 구성할 수 있습니다:
user
필드에서 "john"을 검색하는 예시:
curl -X GET "43.201.88.182:9200/**test**/_search" -H "Content-Type: application/json" -d'
{
"query": {
"match": {
"user": "john"
}
}
}'
message
필드에서 "Elasticsearch"를 검색하는 예시:
curl -X GET "43.201.88.182:9200/test/_search" -H "Content-Type: application/json" -d'
{
"query": {
"match": {
"message": "Elasticsearch"
}
}
}'
위의 예시들은 match
쿼리를 사용하여 특정 필드에서 일치하는 텍스트를 검색합니다. match
쿼리는 해당 필드의 텍스트를 분석하고, 검색어와 일치하는 문서를 찾아낸 후 결과를 반환합니다.
_source
필드에서 실제 문서 내용을 확인할 수 있습니다.