2014-02-08 3 views
12

Neo4j 2.0 버전을 사용하고 있습니다. 날짜 필드를 가진 많은 레코드가 있고 두 특정 날짜 사이의 레코드 수와 같은 많은 쿼리를 지원해야하는 경우 Date 필드의 모든 레코드를 tpo 인덱스로 가질 수 있다고 생각합니다. 이것이 맞습니까? 그럼, 어떻게해야합니까? "RECORD"유형의 모든 노드는 색인 된 날짜가 필요합니다. 이것을 어떻게 할 수 있습니까? 날짜가 고유하지 않은 필드임을 유의하십시오. 그리고 레코드에 Date 속성을 저장하는 방법도 있습니다. CYPHER 또는 Neo4j에서 날짜가 지원됩니까? 날짜 필드별로 레코드를 정렬하려면 어떻게합니까?Neo4j 날짜 데이터 유형

답변

17

속성의 값으로 사용되는 날짜는 직접 지원되지 않습니다. 귀하의 유스 케이스에 따라 일반적으로 에포크 (일명 date.getTime())를 긴 속성이나 문자열 포맷으로 밀리 파를 DateFormatter (자바 토지에있을 때)를 사용하여 저장합니다.

날짜가있는 수학 연산을 수행하려는 경우 긴 표현이 더 적합합니다. 문자열을 변환없이 사람이 읽을 수있게하려면 문자열을 사용하는 것이 좋습니다.

날짜에 인덱스가 필요한 경우 가장 쉬운 방법은 시간 기준으로 millis를 저장하고 이에 대한 스키마 인덱스를 적용하는 것입니다.

+0

에포크가 무엇을 의미합니까? – user4654

+0

클라이언트 언어는 확실하지 않지만 JVM 세계에서는'date.getTime()'을 호출 할 수 있으며 1970 년 1 월 1 일 이후로 경과 된 밀리 초 수가 돌아옵니다. http : //docs.oracle.com/javase/7/docs/api/java/util/Date.html#getTime(). 이것은 속성 값으로 저장할 준비가 된 긴 값입니다. –

+0

@ user4654 : http://en.wikipedia.org/wiki/Unix_time – zarthross

관련 문제