에 필드를 다중 :
<doc>
쿼리 나 문서 같은이 SOLR
<arr name="StartDate">
<date>2012-08-18T17:00:00Z</date>
<date>2012-06-28T17:00:00Z</date>
<date>2013-02-28T17:00:00Z</date>
<date>2012-04-16T17:00:00Z</date>
<date>2012-08-06T17:00:00Z</date>
<date>2012-05-18T17:00:00Z</date>
<date>2012-07-04T17:00:00Z</date>
</arr>
<arr name="EndDate">
<date>2012-09-29T17:00:00Z</date>
<date>2012-06-29T17:00:00Z</date>
<date>2013-04-16T17:00:00Z</date>
<date>2012-05-07T17:00:00Z</date>
<date>2012-08-15T17:00:00Z</date>
<date>2012-06-22T17:00:00Z</date>
<date>2012-08-01T17:00:00Z</date>
</arr>
</doc>
내가 날짜 범위를 가지고 범위를 커버 A STARTDATE 한 쌍의 종료 날짜를 찾고 싶어요. 예를 들어 입력 범위 (x, y)가 2012-08-18 < x 및 2012-09-29 > 인 경우 startDate 및 EndDate의 첫 번째 쌍 (2012-08-18 TO 2012-09-29)은 true를 반환합니다. AND 종료 날짜 : 2012-09-29T00 : 00 [: 00 : 00.000Z 2012-08-18T00 TO 59.999Z : 1995-12-31T23 : 59]
STARTDATE :
하지만 문제는 위의 14 개 항목에서 SOLR 검색 모든 일치 날짜입니다. 한 항목 씩 비교하고 싶습니다 (1, 1, 2 2 ...).
어떻게하는지 알려주세요. 많은 감사합니다.
첫 번째 해결책입니다. 나는 Solr 'function'쿼리를 사용하려고 생각하고 있습니다. 2 개의 배열을 반복 할 수있는 한 우리는 그것을 할 수있는 방법을 찾을 수 있습니다. 그냥 내 생각. 나는 Solr에게 아주 새로운 사람이다. 감사합니다. 다른 답변을 기다리고 있습니다. – dtnam
다중 값 필드에 대해 순서가 보장되지 않습니다. 이것을 확인하기 위해 소스를 읽지는 않았지만, 대신 [start2, start1, start3]'으로 끝날 수 있습니다. – beerbajay
내가 볼 수있는 다른 방법은 검색 할 수있는 하나의 값으로 (start1, end1)을 비정규 화하는 것입니다. 그러나 이것은 쉬울 수도/불가능할 수도 있습니다. – Fuxi