내 목표는 지난 한 달 동안 매달 문서 수를 얻는 것입니다.Solr 1.4 날짜 패싯 포함
q=*:*
rows=0
facet=on
facet.date=myDateField
facet.date.start=NOW-11MONTH/MONTH
facet.date.end=NOW+1MONTH/MONTH
facet.date.gap=+1MONTH
이 쿼리가 생산하는 범위는 2 개 개의 다른 범위에서 계산되고 매월 1 일에 T00:00:00Z
의미의 상한에 대한 포괄적 인 2013-01-01T00:00:00Z to 2013-02-01T00:00:00Z
을,있다 : 여기 SOLR 1.4에 사용하고있는 측면 쿼리입니다 .
Solr 3.1 introduces 내 문제를 해결하는 매개 변수는 facet.date.include
입니다. 단, 지금 업그레이드하는 것은 옵션이 아닙니다. 동일한 기능을 수행 할 수있는 해결 방법이 있습니까? 가까이에 있지만 충분히 가깝지 않은 facet.date.gap=+1MONTH-1SECOND
을 시도했습니다. 종료일이 올바르지 않은 경우 다음과 같은 결과가 표시됩니다.
2012-09-01T00:00:00Z
2012-09-30T23:59:59Z
2012-10-30T23:59:58Z
2012-11-30T23:59:57Z
2012-12-30T23:59:56Z
2013-01-30T23:59:55Z
2013-02-28T23:59:54Z
2013-03-28T23:59:53Z
2013-04-28T23:59:52Z
여전히 다음 달의 첫 번째 날의 상한을 사용하여 범위를 만듭니다. 출력은 원래 날짜 패싯 예제 – schmimd04
과 동일합니다. 마지막 패싯에서 작업해야합니다. 이런 식으로 당신은 그것을 완전히 통제 할 수 있습니다. 다음과 같은 마지막면에 -1 일을 넣으십시오. NOW + 1MONTH-1DAY/MONTH –
아, 이제 알겠습니다. 귀하의 답을 받아 들일 것입니다, 왜냐하면 그것이 효과가있는 것처럼 보이기 때문에, 우리는 다른 길을 선택했습니다. Google은 일시적으로 데이터를 수정하여 매월 1 일 자정 (예 : 2013-08-01T00 : 00 : 01Z) 자정에 추가하여 패싯 범위를 벗어나도록했습니다. 나는 그것이 꽤 큰 해킹 인 것을 안다. 그러나 우리가 Solr을 업그레이드 할 수있을 때까지 우리의 목적을 달성 할 것이다. – schmimd04