2012-11-13 5 views
1

입력 한 날짜의 +/- 1 개월 범위가 쿼리됩니다. 2012-12-01에 입력하면 2012-11-01에서 2013-01-01까지 결과 집합을 얻습니다.날짜별로 정렬 결과 정렬

잘 작동하지만 입력 한 날짜와의 차이가 지난 후에 결과를 정렬하려고합니다.

2012년 11월 10일, 2012년 11월 30일, 2012년 12월 3일, 2012년 12월 10일

우리가 원하는 : 예를 들어

우리는 날짜가있는 경우 다음과 같이 분류 결과 :

2012년 11월 30일, 2012년 12월 3일, 2012년 12월 10일, 2012년 11월 10일

solr에서 이것을 수행하는 방법에 대한 아이디어가 있습니까?

미리 감사드립니다.

답변

5

&sort=sub(date_you_enter,date_fieldname_on_documents) asc 매개 변수를 쿼리에 추가하기 만하면됩니다. 기본적으로 sub 함수는 차이를 계산하고 그 결과에 따라 정렬 할 수 있습니다. 당신은 또한 당신

+0

감사에 유용 할 수있는 더 많은 기능에 대한 http://wiki.apache.org/solr/FunctionQuery 페이지를 확인하실 수 있습니다 참조

, 내가 이걸 발견하지만이 작업을 얻을 수 없습니다 그리고 지금은 왜 ... SOLR 1.4 ^^ 필요 업그레이드를 알고 먼저. – Dready

+1

마침내 문제의 ms 함수를 사용했습니다. asc = ms는 밀리 초 단위로 차이를 반환하고 abs는 선행 부호를 반환합니다 (예 : – Dready