ElasticSearch 학습노트(5): ElasticSearch 6가지 간단한 조회 작업
하나,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"
]
}
참고 자료: 중화석삼
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.