2014-02-20 3 views

답변

0

TimeUUID은 시간이 포함 된 UUID입니다. Solr에는 이러한 유형의 데이터에 대한 적절한 매핑이 없습니다.

난 당신이

  1. 필드에 TimeUUID을 계속 제안 할 수 있습니다 무엇을 (말 "문자열"유형).
  2. 동일한 문서에서 다른 필드 ("날짜"유형)의 해당 시간을 유지하십시오.

이렇게하면 TimeUUID와 그 시간에서 추출한 시간을 매핑 할 수 있습니다.

+0

불행하게도, SOLR 카산드라와 SOLR 사이에 대한 유형 불일치를 뿌려줍니다. cassandra 측에서 timeuuid를 uuid로 변경하고 solr 필드 유형을 uuid로 설정하면 cassandra 측에서 timeuuid 기능이 손실됩니다./ – Arman

0

당신의 solr 검색에서이 timeUUID를 어떻게 사용할 것인지 알고 싶습니다. TimeUUID는 일련의 큰 숫자입니다.

예를 들어

: UUID :

Pls는이 아래의 접근 시도 타임 118ffe80-466b-11e1-b5a5-5732cf729524을 (2012년 1월 24일 (화요일) 그리니치 표준시 오전 9시 9분 6초). UUID 대신 Jan-24,2012로 검색하기 쉽습니다.

솔라의 dataconfig.xml에서 uuid 시간을 실제 날짜로 변환하고 해당 필드의 색인을 생성하는 자바 스크립트를 작성할 수 있습니다.

예 : 아래 코드>

< script> < ![CDATA[ 
      function f1(row)  { 
       var uuid= row.get('timeUUID'); 
       //Java Script to convert UUID to Date 
       row.put('timeUUID', uuid); 
       return row; 
      } 
    ]] > < /script> 
    < document> 
      < entity name="e" transformer="script:f1" query="select * from X"> 
      .... 
      < /entity> 
    < /document> 

< dataConfig에서 시간 정보를 가져옵니다 : 당신은 스크립트를 사용하여 여분의 필드를 만들 수 있습니다. 예 : 년, 일, 월 등

1

DSE 3.2.6 버전부터 CQL 유형 timeuuid은 Solr 유형 UUIDField에 매핑됩니다.

참조 : 스키마를 업로드 할 때 http://www.datastax.com/documentation/datastax_enterprise/3.2/datastax_enterprise/srch/srchSolrType.html

+0

그러나 Solr 정렬은 TimeUUID fileld에서 제대로 작동합니까? – sedovav

+0

Solr은'UUIDField' 타입의 필드를 정렬 할 수있게 해줄 것이지만,'UUIDField'는 타입 4 UUID이기 때문에 시간적으로 어떻게 정렬되는지 알 수 없습니다.원한다면 솔라'DateField'에 매핑되는 CQL'timestamp'를 사용하면됩니다. –

+0

예, 타임 스탬프 값의 고유성은 없습니다. – sedovav