Elasticsearch의 DSL 쿼리 및 filter
27204 단어 elasticsearchfilterDSL
다음은 이 두 키워드의 구체적인 함수를 명확히 하겠습니다.
query context: 이 문서가 조회 문장과 어느 정도 일치하는지 대답합니다. (How well doesthis document match thisquery clause?),점수가 계산됩니다 _score.
filter context: 이 문서가 검색 문장과 일치하는지, 그렇지 않은지 대답합니다. (Doesthis document match thisquery clause?)점수를 계산할 줄 모른다.
일치 정도가 필요한 쿼리 (_score가 있는 경우) 를 제외하고query를 사용하고, 나머지 쿼리는 filter를 사용해야 합니다.(As a general rule, use query clauses for full-text search or for any condition that should affect the relevance score, and use filters for everything else.)
Filter의 결과는 ES에 캐시되어 효율을 높일 수 있습니다.
또한 필터는 분수와 정렬을 계산하지 않기 때문에query보다 속도가 빠릅니다.
다음 예는https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
GET _search
{
"query": {
"bool": {
"must": [
{ "match": { "title": "Search" }},
{ "match": { "content": "Elasticsearch" }}
],
"filter": [
{ "term": { "status": "published" }},
{ "range": { "publish_date": { "gte": "2015-01-01" }}}
]
}
}
}
The
query
parameter indicates query context. The
bool
and two match
clauses are used in query context, which means that they are used to score how well each document matches. The
filter
parameter indicates filter context. The
term
and range
clauses are used in filter context. They will filter out documents which do not match, but they will not affect the score for matching documents.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.