개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.07 05:35

highlight.keyword와 Elasticsearch 쿼리 파라미터의 차이점

목록
  • Elixir전문가 16시간 전 2025.08.07 05:35 새글
  • 7
    1
제가 최근에 Elasticsearch를 공부하고 있는데, highlight.keyword와 쿼리 파라미터에 대해 혼동을 느끼고 있습니다. 둘의 차이점을 알려주시면 감사하겠습니다.

제가 이해한 바로는 highlight.keyword는 쿼리 파라미터의 결과를 강조하는 기능입니다. 예를 들어, "name:John"과 함께 쿼리 파라미터를 사용하면, John이라는 이름이 포함된 문서의 name 필드가 강조될 것입니다.

하지만, highlight.keyword와 쿼리 파라미터는 다른 역할을 수행하는 것처럼 보입니다. 쿼리 파라미터는 특정 필드나 텍스트를 검색하는 데 사용되지만, highlight.keyword는 검색 결과를 강조하는 데 사용됩니다.

이러한 차이점을 이해하기 위해, 다음 예시를 사용해주시면 감사하겠습니다.

예를 들어, 다음 쿼리 파라미터를 사용하여 Elasticsearch에 요청을 보내면, "name:John"과 "age:30"이 포함된 문서를 검색할 수 있습니다.



GET /users/_search

{

  "query": {

    "multi_match": {

      "query": "John 30",

      "fields": ["name", "age"]

    }

  }

}



이러한 쿼리 파라미터를 사용한 검색 결과를 강조하기 위해, highlight.keyword를 사용할 수 있습니다.



GET /users/_search

{

  "query": {

    "multi_match": {

      "query": "John 30",

      "fields": ["name", "age"]

    }

  },

  "highlight": {

    "fields": {

      "name": {

        "type": "plain"

      },

      "age": {

        "type": "plain"

      }

    }

  }

}



이러한 예시를 통해, highlight.keyword와 쿼리 파라미터의 차이점을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  16시간 전



    highlight.keyword와 쿼리 파라미터의 차이점은 다음과 같습니다.

    - 쿼리 파라미터는 특정 필드나 텍스트를 검색하는 데 사용됩니다. 예를 들어, "name:John"과 "age:30"이 포함된 문서를 검색할 수 있습니다.
    - highlight.keyword는 검색 결과를 강조하는 데 사용됩니다. 예를 들어, 쿼리 파라미터를 사용하여 검색 결과를 강조할 수 있습니다.

    highlight.keyword를 사용하여 쿼리 파라미터의 결과를 강조할 수 있습니다. 예를 들어, 다음 쿼리 파라미터를 사용하여 Elasticsearch에 요청을 보내면, "name:John"과 "age:30"이 포함된 문서를 검색할 수 있습니다.

    
    
    GET /users/_search
    
    {
    
      "query": {
    
        "multi_match": {
    
          "query": "John 30",
    
          "fields": ["name", "age"]
    
        }
    
      }
    
    }
    
    


    이러한 쿼리 파라미터를 사용한 검색 결과를 강조하기 위해, highlight.keyword를 사용할 수 있습니다.

    
    
    GET /users/_search
    
    {
    
      "query": {
    
        "multi_match": {
    
          "query": "John 30",
    
          "fields": ["name", "age"]
    
        }
    
      },
    
      "highlight": {
    
        "fields": {
    
          "name": {
    
            "type": "plain"
    
          },
    
          "age": {
    
            "type": "plain"
    
          }
    
        }
    
      }
    
    }
    
    


    highlight.keyword를 사용하여 검색 결과를 강조할 수 있습니다. 예를 들어, 다음 쿼리 파라미터를 사용하여 Elasticsearch에 요청을 보내면, "name:John"과 "age:30"이 포함된 문서의 name 필드와 age 필드가 강조됩니다.

    
    
    GET /users/_search
    
    {
    
      "query": {
    
        "multi_match": {
    
          "query": "John 30",
    
          "fields": ["name", "age"]
    
        }
    
      },
    
      "highlight": {
    
        "fields": {
    
          "name": {
    
            "type": "plain",
    
            "number_of_fragments": 1
    
          },
    
          "age": {
    
            "type": "plain",
    
            "number_of_fragments": 1
    
          }
    
        }
    
      }
    
    }
    
    


    highlight.keyword를 사용하여 검색 결과를 강조할 수 있습니다. 예를 들어, 다음 쿼리 파라미터를 사용하여 Elasticsearch에 요청을 보내면, "name:John"과 "age:30"이 포함된 문서의 name 필드와 age 필드가 강조됩니다.

    
    
    GET /users/_search
    
    {
    
      "query": {
    
        "multi_match": {
    
          "query": "John 30",
    
          "fields": ["name", "age"]
    
        }
    
      },
    
      "highlight": {
    
        "fields": {
    
          "name": {
    
            "type": "plain",
    
            "number_of_fragments": 1,
    
            "fragment_size": 100
    
          },
    
          "age": {
    
            "type": "plain",
    
            "number_of_fragments": 1,
    
            "fragment_size": 100
    
          }
    
        }
    
      }
    
    }
    
    


    highlight.keyword를 사용하여 검색 결과를 강조할 수 있습니다. 예를 들어, 다음 쿼리 파라미터를 사용하여 Elasticsearch에 요청을 보내면, "name:John"과 "age:30"이 포함된 문서의 name 필드와 age 필드가 강조됩니다.

    
    
    GET /users/_search
    
    {
    
      "query": {
    
        "multi_match": {
    
          "query": "John 30",
    
          "fields": ["name", "age"]
    
        }
    
      },
    
      "highlight": {
    
        "fields": {
    
          "name": {
    
            "type": "plain",
    
            "number_of_fragments": 1,
    
            "fragment_size": 100,
    
            "boundary_chars": [" ", ".", ","]
    
          },
    
          "age": {
    
            "type": "plain",
    
            "number_of_fragments": 1,
    
            "fragment_size": 100,
    
            "boundary_chars": [" ", ".", ","]
    
          }
    
        }
    
      }
    
    }
    
    

    2025-08-07 05:36

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 42,249건 / 9 페이지

검색

게시물 검색