neo4j에서 날짜별로 색인을 생성하고 기간을 검색하는 방법은 무엇입니까? 또한 시간 동안, 나는 8am와 9am 사이에서 날짜 범위에서 또한 찾고 싶습니다.neo4j에서 날짜별로 색인을 생성하고 기간을 검색하려면 어떻게해야합니까?
답변
정수 시간 소인으로 날짜 및 시간을 색인화하십시오. 그런 다음 다른 타임 스탬프 사이의 날짜를 색인에서 쉽게 검색 할 수 있습니다. 또한 시간 소인의 시간 부분을 별도의 정수로 색인화하여 주어진 날짜 사이의 특정 시간을 조회 할 수 있습니다.
예 : 지금 날짜와 저장 시간 "2012-02-05 오전 8시 15분"색인에 따라서 이다, 저장, "타임 스탬프 = 1328447700"와 "시간 = 815"
당신이 원하는 오전 8 시부 터 오전 9 시까 지 발생한 2012-02-01 및 2012-02-10 사이의 모든 이벤트에 대한 인덱스를 쿼리합니다. 당신은 어떻게 그
이이 작업을 수행하는 정확한 구문은 어떻게 Neo4j에 연결에 따라 달라집니다 (REST "> = 800 시간 < = 900> = 1,328,072,400 및 타임 스탬프 < = 1,328,936,399 시간 타임 스탬프"에 대한 인덱스를 쿼리하여 또는 임베디드) 및 사용중인 프로그래밍 언어. 그러나 그 아이디어는 어떤 경우에도 동일합니다.
에포크 날짜와 'ISO8601'시간을 혼합하는 것이 왜 좋은지 설명해 주시겠습니까? 만약 내가 이것을 구현한다면'20131124'와'1130' OR'1385251200'과 41400 (자정 이후 초 :'(11 * 60 + 30) * 60')으로 갈 수 있습니다. 부품을 연결하고'yyyyMMddHHmmss' 형식을 파싱하거나, 표시해야 할 때 두 개의 값을 함께 더한'Calendar.setTimeInMillis'를 수행하십시오. – TWiStErRob
@Phil GraphAware의 TimeTree와 관련된 몇 가지 진전이있는 것으로 보입니다. 이것은 여전히 neo4j에서 특정 범위 내의 시간을 검색하는 최적의 방법입니까? 이 답변은 모든 값을 타임 스탬프로 변환해야하기 때문에 매우 비효율적 인 것으로 보입니다. 그런 다음 추가 월/년 복잡성이 추가되지 않으면 그 값을 그래프의 다른 모든 노드와 비교해야합니다. – NumenorForLife
이것은 Josh Adell의 답변입니다. 가독성을 위해, 나는 int
데이터 형식 2147483647
개까지 저장할 수 있습니다
date:19970716 (YYYYMMDD)
time:203045000 (HHmmssuuu): last three digits for microseconds.
같은 두 date
및 time
정수 필드를 가지는 것이 좋습니다. 모험을 느끼는 경우 long
데이터 유형은 최대 9223372036854775807
까지 저장할 수 있습니다. http://docs.neo4j.org/chunked/stable/graphdb-neo4j-properties.html
는 1997-07-16T19:20:30.45Z
처럼 ISO 8601 timestamps에서 영감을.
면책 조항 : Neo4J에는 최소한의 경험이 있습니다.
마이크로가 아닌 밀리 초입니다. – TWiStErRob
neo4j에서 통합 lucene 색인을 사용하여이를 수행하는 편리한 org.neo4j.index.lucene.LuceneTimeline이 있습니다.
with Spring data neo4j
public List<Email> getAllEmailData(Date startDate, Date endDate) {
List<Email> list = new ArrayList<Email>();
if (startDate == null || endDate == null) {
return null;
}
long first = ConversionsUtils.convertDateToLong(startDate);
long second = ConversionsUtils.convertDateToLong(endDate);
try {
list = emailRepository.searchAllData(first, second);
// System.out.println("List size " +list.size());
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
@Query(
"START email=node:__types__(className='com.backend.core.neo.entities.Email') "
+ "WHERE email.searchDate > {0} and email.searchDate < {1}"
+ "RETURN email")
List<Email> searchAllData(long startDate, long endDate);
email entity
@NodeEntity
public class Email implements Serializable {
private static final long serialVersionUID = 1L;
public static final String CC = "CC";
public static final String TO = "TO";
@GraphId
private Long id;
@GraphProperty
private Long senderId;
@GraphProperty
private String subject;
@Indexed
// @GraphProperty(propertyType = java.util.Date.class)
private String dateSent;
@Indexed
private long searchDate;
@GraphProperty
private String emailTxt;
@GraphProperty
private String emailHtml;
@GraphProperty
private String emailId;
//mail to
@Fetch
@RelatedTo(elementClass = User.class, type = TO, direction = Direction.OUTGOING)
private Set<User> intoUsers;
//mail shared
@Fetch
@RelatedTo(elementClass = User.class, type = CC, direction = Direction.OUTGOING)
private Set<User> sharedUsers;
- 1. Neo4j에서 인덱싱
- 2. Lucene.NET으로 색인을 생성하고 번호를 찾는 방법은 무엇입니까?
- 3. 내 목록보기를 날짜별로 구성하려면 어떻게해야합니까?
- 4. Gremlin을 사용하여 Neo4j에서 무작위 샘플을 얻으려면 어떻게해야합니까?
- 5. Facebook 페이지에 주어진 팬의 수를 검색하려면 어떻게해야합니까?
- 6. mysql에서 제목을 검색하려면 어떻게해야합니까?
- 7. AppleScript로 iTunes를 검색하려면 어떻게해야합니까?
- 8. NSDate에서 문자열을 검색하려면 어떻게해야합니까?
- 9. 인증서의 만료일을 검색하려면 어떻게해야합니까?
- 10. 테이블에서 데이터를 검색하려면 어떻게해야합니까?
- 11. SMS 로그를 검색하려면 어떻게해야합니까?
- 12. 제스처를 저장하고 검색하려면 어떻게해야합니까?
- 13. JavaScript로 브라우저를 검색하려면 어떻게해야합니까?
- 14. 개체의 값을 검색하려면 어떻게해야합니까?
- 15. @WindowScoped에서 개체를 검색하려면 어떻게해야합니까?
- 16. 해시 테이블을 검색하려면 어떻게해야합니까?
- 17. _id로 문서를 검색하려면 어떻게해야합니까?
- 18. UIButton을 누르고있는 기간을 기준으로보기를로드하려면 어떻게해야합니까?
- 19. XML 파일에서 데이터를 검색하려면 어떻게해야합니까?
- 20. linq을 사용하여 형제를 검색하려면 어떻게해야합니까?
- 21. Jtable에서 특정 데이터를 검색하려면 어떻게해야합니까?
- 22. Google 스프레드 시트를 검색하려면 어떻게해야합니까?
- 23. resx 파일에서 이미지를 검색하려면 어떻게해야합니까?
- 24. .module 파일의 내용을 검색하려면 어떻게해야합니까?
- 25. NSDictionary의 모든 내용을 검색하려면 어떻게해야합니까?
- 26. iPhone 캘린더에서 일정을 검색하려면 어떻게해야합니까?
- 27. sqlite3에서 문자열의 일부를 검색하려면 어떻게해야합니까?
- 28. 선택 가입으로 레코드를 검색하려면 어떻게해야합니까?
- 29. 단일 날짜로 mysql을 검색하려면 어떻게해야합니까?
- 30. Perl에서 터미널 폭을 검색하려면 어떻게해야합니까?
Btw, 왜 Cipher를 사용하지 않습니까? – Bozho
암호를 사용하여 색인을 생성하는 방법은 무엇입니까? – Phil