elasticsearchaggregation 프로세스 (미완)

질의가 진행되는 동안 ES는 전체 질의를 다음과 같이 몇 단계로 나눕니다.
  • QueryPhase
  • rescorePhase
  • suggestPhase
  • aggregationPhase
  • FetchPhase

  • 전체 텍스트 검색의 경우 DFSPhase도 있을 수 있습니다.소스 코드QueryPhase 클래스에서 볼 수 있습니다.
    @Override
        public void execute(SearchContext searchContext) throws QueryPhaseExecutionException {
             // AggregationContext,
            // Aggregator
            aggregationPhase.preProcess(searchContext);
            // query, 
            boolean rescore = execute(searchContext, searchContext.searcher());
    
            // , 
            if (rescore) { // only if we do a regular search
                rescorePhase.execute(searchContext);
            }
            suggestPhase.execute(searchContext);
             // 
            aggregationPhase.execute(searchContext);
    
            if (searchContext.getProfilers() != null) {
                List shardResults = Profiler.buildShardResults(searchContext.getProfilers().getProfilers());
                searchContext.queryResult().profileResults(shardResults);
            }
        }

    좋은 웹페이지 즐겨찾기