elasticsearch Terms 취 합 은 정확 한 취 합 이 아 닙 니 다.
6354 단어 elasticsearch건어물짜임새
curl -X GET "localhost:9200/cars/transactions/_search" -H 'Content-Type: application/json' -d'
{
"size" : 0,
"aggs" : {
"popular_colors" : {
"terms" : {
"field" : "color",
"size": 3
}
}
}
}
여기 서 terms 취 합 을 실현 하여 color 를 근거 로 조별 통 계 를 실시 했다.결 과 는 각 color 의 개수 입 니 다.다음은 돌아 온 결과 입 니 다.
{
...
"hits": {
"hits": []
},
"aggregations": {
"doc_count_error_upper_bound": 3,
"sum_other_doc_count": 10,
"popular_colors":
"buckets": [
{
"key": "red",
"doc_count": 4
},
{
"key": "blue",
"doc_count": 2
},
{
"key": "green",
"doc_count": 2
}
]
}
}
}
결 과 를 되 돌려 주 는 aggregations 에는 세 가지 값 이 있 습 니 다: doccount_error_upper_bound、sum_other_doc_count 와 popularcolors。이 세 가지 값 은 ES 가 이번 집합 에 대한 평가 와 되 돌아 오 는 집합 결 과 를 나타 낸다.
doc_count_error_upper_bound: 이번 집합 에서 되 돌아 오지 않 았 지만 존재 할 수 있 는 잠재 적 집합 결 과 를 표시 합 니 다. 이 값 은 3 입 니 다. 표 는 red, blue, green 을 제외 하고 집합 결과 가 3 일 수도 있 습 니 다.복귀 결 과 를 보면 2 위 에 오 를 수도 있다.sum_other_doc_count: 이번 집합 에서 통계 되 지 않 은 문서 수 를 표시 합 니 다.ES 는 분포 식 배치 이기 때문에 서로 다른 문 서 는 여러 개의 조각 에 분산 되 어 있 습 니 다. 그러면 집합 할 때 각 조각 에 각각 집합 한 다음 에 조율 노드 에서 결 과 를 모 은 후에 돌아 갑 니 다.여기 서 는 상위 3 개 집합 을 요 청 했 기 때문에 각 조각 은 본 조각 중 상위 3 개 컬러 만 집합 했다.통계 되 지 않 은 다른 문서 수 는 각 노드 에서 되 돌아 온 후에 이 요 소 를 모 습 니 다.이 값 은 10 으로 10 개의 문서 가 이번 집합 에 참여 하지 않 았 음 을 나타 낸다.popular_colors: 집합 결과, 기본 값 은 높 은 것 에서 낮은 것 으로 배열 합 니 다.key 는 집합 요소 의 값 을 표시 합 니 다. doccount 는 요소 가 나타 나 는 횟수 를 표시 합 니 다.자, 여기 doccount 도 정확 하지 않 습 니 다.이 를 통 해 이번 중합 을 분석 하면 top 3 로 돌 아 왔 지만 다른 2 등 이 있 을 수 있 습 니 다. 그리고 doccount 는 상대 값 일 뿐 입 니 다.본질 적 으로 이런 오 차 는 분포 식 환경 에서 의 데이터 격 리 로 인해 발생 한 것 이다. 특히 topK 데 이 터 를 얻 을 때 노드 안의 topK 가 정확 하고 전체적인 topK 가 정확 하 다 는 것 을 보장 하지 않 는 다.그리고 원소 든 원소 든 대응 하 는 doccount, 모두 정확 하지 않 습 니 다.따라서 ES 가 정확 한 취 합 결 과 를 얻 으 려 면 max, min, avg 등 취 합 만 할 수 있 고 terms API 자체 가 정확 하지 않 으 며 추가 적 인 방법 으로 정확성 을 확보 하거나 향상 시 킬 수 있 습 니 다.
필름 을 가리 지 않 고 모든 데 이 터 는 shard 에 있 습 니 다.이렇게 하면 ES 가 집합 에서 모든 데 이 터 를 사용 하여 완전히 정확 하도록 할 수 있다.집합 에서 route 를 사용 하면 집합 해 야 할 데 이 터 를 같은 노드 로 이동 합 니 다.이 를 위해 서 는 데이터 구조 와 업무 논리 적 지원 이 필요 해 일반 데이터 가 실현 되 기 어렵다.취 합 결과 의 수 를 높이다.이렇게 하면 모든 조각 노드 가 더 많은 불필요 한 데 이 터 를 되 돌려 주 고 노드 를 조율 하여 데 이 터 를 모 을 때 집적 결과 의 정확성 을 높 일 수 있다.이런 방법 은 집합 결과 의 근사 하고 정확 함 만 보장 하 므 로 추천 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
App Search의 본문 파싱(저를 포함하여) 일부 사람들이 Swifttype 사이트 검색에서 놓친 기능은 CSS 선택기를 사용하여 콘텐츠를 구문 분석할 수 있다는 것입니다. App Search 크롤러는 지정한 웹사이트에서 모든 콘텐츠를 추출하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.