카산드라에 가장 적합한 매핑은 무엇입니까 TimeUUID 솔로 필드입니다. DSE 3.2.4 버전을 사용 중입니다.카산드라 시간 매핑 필드에 대한 솔라 매핑
답변
TimeUUID은 시간이 포함 된 UUID입니다. Solr에는 이러한 유형의 데이터에 대한 적절한 매핑이 없습니다.
난 당신이
- 필드에 TimeUUID을 계속 제안 할 수 있습니다 무엇을 (말 "문자열"유형).
- 동일한 문서에서 다른 필드 ("날짜"유형)의 해당 시간을 유지하십시오.
이렇게하면 TimeUUID와 그 시간에서 추출한 시간을 매핑 할 수 있습니다.
TimeUUID에 대한 매핑이 없습니다. 당신이 업그레이드의 계획이있는 경우 DSE4.5
이 UUID와 timeuuid 모두 'UUID'로 설정할 수 있습니다 SOLR을 가지고,
http://www.datastax.com/documentation/datastax_enterprise/3.2/datastax_enterprise/srch/srchConf.html#srchConf__srchSolrType
: 당신은 여기에 전체 매핑 목록을 볼 수 있습니다. http://www.datastax.com/documentation/datastax_enterprise/4.5/datastax_enterprise/srch/srchSolrType.html
당신의 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에서 시간 정보를 가져옵니다 : 당신은 스크립트를 사용하여 여분의 필드를 만들 수 있습니다. 예 : 년, 일, 월 등
DSE 3.2.6 버전부터 CQL 유형 timeuuid
은 Solr 유형 UUIDField
에 매핑됩니다.
참조 : 스키마를 업로드 할 때 http://www.datastax.com/documentation/datastax_enterprise/3.2/datastax_enterprise/srch/srchSolrType.html
불행하게도, SOLR 카산드라와 SOLR 사이에 대한 유형 불일치를 뿌려줍니다. cassandra 측에서 timeuuid를 uuid로 변경하고 solr 필드 유형을 uuid로 설정하면 cassandra 측에서 timeuuid 기능이 손실됩니다./ – Arman