elasticsearch 학습 노트 (26) - Elasticsearch query DSL 검색 실전
4864 단어 elasticsearch
1、하나의 예로query DSL이 무엇인지 알 수 있습니다
GET /website/_search
{
"query": {
"match_all": {}
}
}
2、query DSL의 기본 구문
GET /{index}/_search
{
" "
}
예:
GET /website/_search
{
"query": {
"match": {
"title": "article"
}
}
}
{
"took" : 3,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 3,
"relation" : "eq"
},
"max_score" : 0.13353139,
"hits" : [
{
"_index" : "website",
"_type" : "_doc",
"_id" : "1",
"_score" : 0.13353139,
"_source" : {
"post_date" : "2017-01-01",
"title" : "my first article",
"content" : "this is my first article in this website",
"author_id" : 11400
}
},
{
"_index" : "website",
"_type" : "_doc",
"_id" : "2",
"_score" : 0.13353139,
"_source" : {
"post_date" : "2017-01-02",
"title" : "my second article",
"content" : "this is my second article in this website",
"author_id" : 11400
}
},
{
"_index" : "website",
"_type" : "_doc",
"_id" : "3",
"_score" : 0.13353139,
"_source" : {
"post_date" : "2017-01-03",
"title" : "my third article",
"content" : "this is my third article in this website",
"author_id" : 11400
}
}
]
}
}
3. 여러 검색 기준 조합
검색 수요: title는first를 포함해야 합니다. 콘텐츠는 웹 사이트를 포함할 수도 있고 포함하지 않을 수도 있습니다. author_id는 111이 아니어야 합니다.
GET /website/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"title": "first"
}
}
],
"should": [
{
"match": {
"content": "website"
}
}
],
"must_not": [
{
"match": {
"author_id": 111
}
}
]
}
}
}
{
"took" : 21,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 1.1143606,
"hits" : [
{
"_index" : "website",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.1143606,
"_source" : {
"post_date" : "2017-01-01",
"title" : "my first article",
"content" : "this is my first article in this website",
"author_id" : 11400
}
}
]
}
}
다음은 더욱 복잡한 조합 조회를 첨부한 다음에 생각의 틀로 삼을 수 있다.
GET /website/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"title": "first"
}
}
],
"should": [
{
"match": {
"content": "website"
}
},
{
"bool": {
"must": [
{
"match": {
"content": "first"
}
}
],
"must_not": [
{
"match": {
"title": "second"
}
}
]
}
}
],
"must_not": [
{
"match": {
"author_id": 111
}
}
]
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.