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
ます。
今回の UUID を solr 検索でどのように使用するかを知りたいだけです。TimeUUID は一連の大きな数字です。
Plsは以下のアプローチを試してください:
例: UUID: 118ffe80-466b-11e1-b5a5-5732cf729524 時刻 (2012 年 1 月 24 日火曜日 9:09:06 AM GMT)。UUID ではなく Jan-24,2012 で簡単に検索できます。
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 をフィールドに保持します (「string」タイプなど)。
- そして、同じドキュメント内の別のフィールド (" date " タイプ) に対応する時刻を保持します。
このようにして、TimeUUID とそこから抽出された時間との間のマッピングを作成できます。