ElasticSearch 데이터 조회

11200 단어 ElasticSearch

ElasticSearch 데이터 일치


match 일치


match 분사 일치
{
	"query": {
		"match": {
			"field": "value"
		}
	}
}

term 필터링


정확한 일치 값
{
	"query": {
		"term": {
			"field": "value"
		}
	}
}

쿼리 일치 여러 값
{
	"query": {
		"terms": {
			"field": ["value", "value"]
		}
	}
}

범위 필터링


쿼리 범위 값
{
	"query": {
	    "range": { 
			"id": { 
	        	"gte":  744718, 
	            "lt":   744728 
	        } 
	    } 
	}
}

속성
묘사gt
보다 크다gte
보다 크면 같음lt
보다 작다lte
보다 작다

exists와missing 필터


문서에 필드 포함 여부 조회
{
	"query": {
		"exists": {
			"field": "city"
		}
	}
}

bool 조회


조회
{
	"query": {
		"bool": {
			"must": {
				"match": {
					"city": " "
				}
			}
		}
	}
}

boot 다중 조건 판단
{
	"query": {
		"bool": {
			"must": [
				{"terms": { "qq": ["2491920818", "3183788520"] }}, 
				{"term": { "type": 0 }},
				{"term": { "city.keyword": " " }}
			]
		}
	}
}

필드
유사하다
묘사
must
AND
쿼리 지정 문서가 반드시 포함되어야 합니다.
must_not
NOT AND
지정한 문서를 조회하려면 반드시 포함되지 마십시오.
should
OR
중첩 조회는 하나만 충족하면 OK.

wildcards 조회


와일드카드로 질의 가능
{
	"query": {
		"wildcard": {
			"city": "* *"
		}
	}
}

regexp 조회


정규 표현식을 통해 일치할 수 있다
{
	"query": {
		"regexp": {
			"city": " "
		}
	}
}

prefix 조회


어떤 문자로 시작하는지 다음 예와 같이 prefix를 간단하게 사용할 수 있습니다.
{ 
  "query": { 
    "prefix": { 
      "city": " " 
    } 
  } 
}

match_phrase 조회


이 검색 조건을 한 단어로 분사 일치시키면 match는 검색 조건을 다시 분사 일치시킵니다
{
  "query": {
    "match_phrase": {
      "city": " "
    }
  }
}

하이라이트 하이라이트 검색

{
	"query": {
		"match": {
			"qq": 5124
		}
	}, "highlight": {
		"fields": {
			"qq": {}
		}
	}
}

참고:

matchmatch_phrase 조회의 차이!
  • match: 검색 조건을 단어로 나눈 후 ES에서 일치하는 데이터를 단어로 나누기
  • match_phrase: 검색 조건을 ES 분사에 일치 데이터
  • 원하는 데이터가 나오지 않을 때 이 필드에 분사가 있는지 확인할 수 있습니다

    좋은 웹페이지 즐겨찾기