Cassandra TimeUUID字段到 Solr的最佳映射是什么。我使用的是 DSE 3.2.4 版本
5 回答
如果您有任何升级计划,请DSE4.5
使用允许将 uuid 和 timeuuid 设置为“uuid”的 solr。http://www.datastax.com/documentation/datastax_enterprise/4.5/datastax_enterprise/srch/srchSolrType.html
从 DSE 版本 3.2.6 开始,CQL 类型timeuuid
映射到 Solr 类型UUIDField
。
只是我想知道你将如何在你的 solr 搜索中使用这个 timeUUID。TimeUUID 是一系列大数。
请尝试以下方法:
例如:UUID:118ffe80-466b-11e1-b5a5-5732cf729524 时间(格林威治标准时间 2012 年 1 月 24 日星期二上午 9:09:06)。2012 年 1 月 24 日而不是 UUID 很容易搜索。
在 Solr 的 dataconfig.xml 中,您可以编写 javascript 将时间 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>
提示:您可以使用脚本创建任何额外的字段。例如:年、日、月等。
TimeUUID 没有映射。您可以在此处查看完整的映射列表:
http ://www.datastax.com/documentation/datastax_enterprise/3.2/datastax_enterprise/srch/srchConf.html#srchConf__srchSolrType
TimeUUID是一个 UUID,其中包含嵌入的时间。在 Solr 中,这种类型的数据没有适当的映射。
我可以建议你什么
- 将 TimeUUID 保存在一个字段中(比如“字符串”类型)。
- 并将其对应的时间与同一文档中的另一个字段(“日期”类型)保持一致。
这样,您可以在 TimeUUID 和从中提取的时间之间建立映射。