개발자 Q&A

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

2025.07.24 18:32

SolrQuery::getFacetDateFields 사용에 대한 도움을 요청합니다.

목록
  • Go매니아 1일 전 2025.07.24 18:32
  • 11
    1
저는 SolrQuery::getFacetDateFields 메소드를 사용하여 날짜 필드의 faceting을 구현하고자 합니다. 하지만, 날짜 범위 필드의 설정에 대해 이해가 잘 안됩니다.

예를 들어, 아래와 같은 설정을 사용할 경우 날짜 범위 필드가 어떻게 생성되나요?

php

$query = new SolrQuery();

$query->addFacetDateField('created_at', 'YYYY-MM-DD');



이러한 설정으로 생성된 날짜 범위 필드는 어떻게 사용해야 하나요?

또한, 날짜 범위 필드의 필터링 옵션을 설정하는 방법은 어떻게 하나요?

예를 들어, 특정 날짜 범위 필드만 필터링하고 싶은 경우 어떻게 설정해야 하나요?

제가 이해한 바와 달리 다른 결과를 얻는 경우가 있습니다.

해당 부분에 대한 설명과 예제를 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    SolrQuery::getFacetDateFields 메소드를 사용하여 날짜 필드의 faceting을 구현할 때, 날짜 범위 필드의 설정은 다음과 같이 합니다.

    - `addFacetDateField` 메소드를 사용하여 날짜 필드 이름과 날짜 포맷을 지정합니다. 예를 들어, `created_at` 필드의 날짜 포맷은 `YYYY-MM-DD`로 지정합니다.
    - 날짜 범위 필드는 자동으로 생성되지 않습니다. 따라서, `addFacetDateField` 메소드를 여러 번 호출하여 다양한 날짜 범위 필드를 생성해야 합니다.

    예를 들어, `created_at` 필드의 날짜 범위 필드를 생성하고 싶다면, 다음과 같이 코드를 작성합니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->addFacetDateField('created_at', 'YYYY-MM-DD');
    
    $query->addFacetDateField('created_at_1d', 'YYYY-MM-DD', '1d');
    
    $query->addFacetDateField('created_at_1w', 'YYYY-MM-DD', '1w');
    
    $query->addFacetDateField('created_at_1m', 'YYYY-MM-DD', '1m');
    
    


    이러한 설정으로 생성된 날짜 범위 필드는 다음처럼 사용할 수 있습니다.

    - `created_at` 필드는 전체 날짜 범위를 나타냅니다.
    - `created_at_1d` 필드는 1일 전의 날짜 범위를 나타냅니다.
    - `created_at_1w` 필드는 1주 전의 날짜 범위를 나타냅니다.
    - `created_at_1m` 필드는 1개월 전의 날짜 범위를 나타냅니다.

    날짜 범위 필드의 필터링 옵션을 설정하는 방법은 다음과 같습니다.

    - `addFilterQuery` 메소드를 사용하여 날짜 범위 필드에 대한 필터링 조건을 지정합니다.

    예를 들어, `created_at_1d` 필드의 날짜 범위 필터링 조건을 지정하고 싶다면, 다음과 같이 코드를 작성합니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->addFacetDateField('created_at', 'YYYY-MM-DD');
    
    $query->addFacetDateField('created_at_1d', 'YYYY-MM-DD', '1d');
    
    $query->addFilterQuery("created_at_1d:[2022-01-01T00:00:00Z TO 2022-01-01T23:59:59Z]");
    
    


    이러한 설정으로, `created_at_1d` 필드의 날짜 범위 필터링 조건은 2022-01-01T00:00:00Z부터 2022-01-01T23:59:59Z까지의 날짜 범위로 지정됩니다.

    2025-07-24 18:33

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

검색

게시물 검색