ElasticSearch 학습노트(5): ElasticSearch 6가지 간단한 조회 작업

11422 단어

하나,querystringsearch

 :GET /index/type/_search
query string search , search http query string 。
 : qiu , 
GET /index/type/_search?q=name:qiu&sort=price:desc


만약 잘못 보고하면price를price로 바꿉니다.keyword, ElasticSearch의 필드는 기본적으로 text이고 text는 기본적으로 분석 집합 작업을 할 수 없기 때문에 keyword로 바꾸면 집합 작업을 분석할 수 있습니다. 상세한 소개를 보면 임시로 명령줄에서 사용할 수 있는 도구, 예를 들어curl, 신속하게 요청을 보내서 원하는 정보를 검색할 수 있습니다.그러나 조회 요청이 복잡하면 구축하기 어렵다.생산 환경에서querystringsearch를 거의 사용하지 않는다

2. query DSL


DSL:Domain Specified Language, 특정 분야의 언어 http request body: 요청체, json 형식으로 조회 문법을 구축할 수 있으며, 비교적 편리하고, 각종 복잡한 문법을 구축할 수 있으며,querystring search보다 훨씬 강하다.
 1, :
GET /shop/product/_search
{
	"query":{
		"match_all":{}
	}
}
 2, qiu , :
GET /shop/product/_search
{
  "query":{
    "match":{
      "name":"qiu"
    }
  },
  "sort":[
      {"price.keyword":"desc"}
    ]
}
 3, , , 
GET /shop/product/_search
{
	"query":{
		"match_all":{}
	},
	"from":1,
	"size":1
}
from: ( 0)
size: 
 4, :
GET /shop/product/_search
{
	"query":{
		"match_all":{}
	},
	"_source":["name","price"]
}

query DSL은 복잡한 쿼리를 구축할 수 있는 운영 환경에 더욱 적합합니다.

3.query filter

 : qiu 19-31 
GET /shop/product/_search
{
  "query": {
    "bool": {
      "must": [
        {"match": {
          "name": "qiu"
        }}
      ],
      "filter": {
        "range": {
          "price": {
            "gte": 19,
            "lte": 31
          }
        }
      }
    }
  }
}

4. full-text search(전문 검색)

 : zu qiu 
GET /shop/product/_search
{
	"query":{
		"match":{
			"desc":"zu qiu"
		}
	}
}
 zu qiu , ,  zu qiu  zu qiu , score( )

5. phrase search(구문 검색)

 : zu qiu 
GET /shop/product/_search
{
	"query":{
		"match_phrase":{
			"desc":"zu qiu"
		}
	}
}
  zu qiu , zu qiu , 

6. 하이라이트 검색

 : zu qiu , zu qiu 
GET /shop/product/_search
{
  "query":{
    "match": {
      "desc": "zu qiu"
    }
  },
  "highlight": {
    "fields": {
      "desc":{}
    }
  }
}
 , html 
"highlight": {
          "desc": [
            "ti de zu qiu"
          ]
        }

참고 자료: 중화석삼

좋은 웹페이지 즐겨찾기