수색…


소개

검색 API를 사용하면 검색 쿼리를 실행하고 쿼리와 일치하는 검색 히트를 다시 얻을 수 있습니다. 쿼리는 간단한 쿼리 문자열을 매개 변수로 사용하거나 요청 본문을 사용하여 제공 할 수 있습니다.

라우팅

검색을 실행하면 모든 인덱스 / 인덱스 조각 (브로드 캐스트 간 라운드 로빈)으로 브로드 캐스팅됩니다. 검색 할 샤드는 라우팅 매개 변수를 제공하여 제어 할 수 있습니다. 예를 들어 트윗을 인덱싱 할 때 라우팅 값은 사용자 이름이 될 수 있습니다.

curl -XPOST 'localhost:9200/twitter/tweet?routing=kimchy&pretty' -d'
{
    "user" : "kimchy",
    "postDate" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}'

요청 본문을 사용하여 검색

검색 DSL을 사용하여 elasticsearch에서 검색을 수행 할 수도 있습니다. 검색 요청 본문의 query 요소는 Query DSL을 사용하여 쿼리를 정의 할 수있게합니다.

GET /my_index/type/_search
{
    "query" : {
        "term" : { "field_to_search" : "search_item" }
    }
}

다중 검색

multi_search 옵션을 사용하면 여러 필드에서 한 번에 검색어를 검색 할 수 있습니다.

GET /_search
{
  "query": {
    "multi_match" : {
      "query":    "text to search", 
      "fields": [ "field_1", "field_2" ] 
    }
  }
}

부스트 연산자 (^)를 사용하여 특정 필드의 점수를 올리고 필드 이름 (*)에 와일드 카드를 사용할 수도 있습니다.

GET /_search
    {
      "query": {
        "multi_match" : {
          "query":    "text to search", 
          "fields": [ "field_1^2", "field_2*" ] 
        }
      }
    }

URI 검색, 강조 표시

검색 요청은 요청 매개 변수를 제공하여 URI를 사용하여 순전히 실행할 수 있습니다. 이 모드를 사용하여 검색을 실행할 때 모든 검색 옵션이 노출되는 것은 아니지만 빠른 "컬 테스트"에 유용 할 수 있습니다.

GET Index/type/_search?q=field:value

제공된 또 다른 유용한 기능은 문서의 일치 검색을 강조 표시하는 것입니다.

GET /_search
{
    "query" : {
        "match": { "field": "value" }
    },
    "highlight" : {
        "fields" : {
            "content" : {}
        }
    }
}

위의 경우 각 검색 조회에 대해 특정 입력란이 강조 표시됩니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow