개발자 Q&A

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

2025.06.24 16:25

SolrCollapseFunction::getMin에 대한 이해가 필요합니다.

목록
  • 컴파일러수집가 24일 전 2025.06.24 16:25
  • 57
    1
제가 Solr를 공부하다가 SolrCollapseFunction에 대한 이해가 필요합니다.
SolrCollapseFunction::getMin 메소드의 역할과 구현 방법을 알려주시면 감사하겠습니다.
특히, getMin을 사용하는 이유와 예시 코드를 알려주시면 도움이 될 것 같습니다.

    댓글목록

    profile_image
    나우호스팅  24일 전



    SolrCollapseFunction::getMin 메소드는 CollapsingQuery 파라미터의 minCount 값을 반환합니다. CollapsingQuery는 여러 문서가 동일한 필드 값을 공유할 때, 문서를 하나로 합쳐서 결과를 반환하는 기능입니다.

    CollapsingQuery를 사용하는 이유는, 여러 문서가 동일한 필드 값을 공유할 때, 문서를 하나로 합쳐서 결과를 반환하여 문서의 중복을 줄일 수 있습니다.

    예시 코드는 다음과 같습니다.

    #hostingforum.kr
    java
    
    import org.apache.solr.client.solrj.SolrClient;
    
    import org.apache.solr.client.solrj.SolrQuery;
    
    import org.apache.solr.client.solrj.SolrServerException;
    
    import org.apache.solr.client.solrj.impl.HttpSolrClient;
    
    import org.apache.solr.common.SolrDocument;
    
    import org.apache.solr.common.SolrDocumentList;
    
    import org.apache.solr.common.params.CollapsingQueryParams;
    
    import org.apache.solr.common.params.SolrParams;
    
    
    
    import java.io.IOException;
    
    import java.util.ArrayList;
    
    import java.util.List;
    
    
    
    public class SolrCollapseFunctionExample {
    
        public static void main(String[] args) throws IOException, SolrServerException {
    
            // Solr 클라이언트 생성
    
            SolrClient solrClient = new HttpSolrClient.Builder("http://localhost:8983/solr").build();
    
    
    
            // 쿼리 생성
    
            SolrQuery query = new SolrQuery();
    
            query.setQuery("field1:value1");
    
            query.setCollapse(true);
    
            query.setCollapseKey("field2");
    
            query.setCollapseMin("2");
    
    
    
            // 결과 조회
    
            SolrDocumentList results = solrClient.query(query).getResults();
    
    
    
            // 결과 출력
    
            for (SolrDocument document : results) {
    
                System.out.println(document);
    
            }
    
        }
    
    }
    
    


    이 예시 코드는 field1 필드에 value1 값을 가진 문서가 field2 필드에 동일한 값을 가진 문서가 2개 이상 있는 경우, field2 필드의 값을 기준으로 문서를 하나로 합쳐서 결과를 반환합니다.

    2025-06-24 16:26

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

검색

게시물 검색