
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