개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.12 16:30

SolrQuery::addGroupFunction에 대한 도움을 청합니다.

목록
  • NativeScript도사 오래 전 2025.06.12 16:30
  • 98
    1
저는 SOLR를 사용하여 데이터를 인덱싱하고 검색하고자 하는 중입니다.
그런데 SOLRQuery::addGroupFunction 메소드를 사용하여 함수를 그룹화할 때,
함수 내부의 필드를 선택할 때 어떤 방법을 사용해야 하는지 정확히 이해하지 못하고 있습니다.

예를 들어, 다음과 같이 함수를 정의하고 있습니다.

php

$query = new SolrQuery();

$query->addGroupFunction('sum', 'id', 'score');

$query->addFilterQuery('id:123');



이 경우, 'sum' 함수의 결과는 'id:123' 필터를 제외한 모든 문서의 'score' 필드를 합산하는 것일까요?
또는 'id:123' 필터를 적용한 후의 'score' 필드를 합산하는 것일까요?

혹시 이러한 문제에 대한 해결책이나 설명이 필요하신가요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    SOLRQuery::addGroupFunction 메소드는 SOLR에서 함수를 그룹화할 때 사용됩니다. 이 메소드는 필터를 적용한 후의 결과를 반환합니다.

    예를 들어, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->addGroupFunction('sum', 'id', 'score');
    
    $query->addFilterQuery('id:123');
    
    


    이 경우, 'sum' 함수의 결과는 'id:123' 필터를 적용한 후의 'score' 필드를 합산하는 것입니다.

    만약 'id:123' 필터를 제외한 모든 문서의 'score' 필드를 합산하고 싶다면, addFilterQuery 메소드를 사용하기 전에 addGroupFunction 메소드를 호출해야 합니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->addGroupFunction('sum', 'id', 'score');
    
    $query->addFilterQuery('id:123');
    
    


    위 코드는 'id:123' 필터를 적용한 후의 'score' 필드를 합산합니다.

    만약 'id:123' 필터를 제외한 모든 문서의 'score' 필드를 합산하고 싶다면, addFilterQuery 메소드를 사용하기 전에 addGroupFunction 메소드를 호출해야 합니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->addFilterQuery('id:123');
    
    $query->addGroupFunction('sum', 'id', 'score');
    
    


    위 코드는 'id:123' 필터를 제외한 모든 문서의 'score' 필드를 합산합니다.

    따라서, SOLRQuery::addGroupFunction 메소드는 필터를 적용한 후의 결과를 반환합니다. 만약 필터를 적용하지 않고 모든 문서의 결과를 원한다면, addFilterQuery 메소드를 사용하기 전에 addGroupFunction 메소드를 호출해야 합니다.

    2025-06-12 16:31

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,321건 / 18 페이지

검색

게시물 검색