Elasticsearch
검색 API
수색…
소개
검색 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