DSE Searchカラムの期限切れ
DSE Searchカラムを更新して、以下の方法でデータの期限切れ時間を設定できます。
- 高パフォーマンスの更新ハンドラーの構成
ドキュメントごとのTTLを構成すると、ドキュメント全体が削除されます。フィールドごとのTTLを構成すると、フィールドのみが削除されます。
- Solr HTTP APIの使用
- CQLを使用したTTLの設定
solrconfig.xmlファイルでTTLを構成する場合、Solr HTTP APIまたはCQLを使用して別のTTLを構成します。Solr HTTP APIまたはCQLが優先されます。
Solr HTTP APIを使用した有効期限の構成
update
コマンドを使用して、Time To Live(TTL)を設定します。URLを構築して、ドキュメントごとまたはフィールドごとのパラメーターのTTLを含んでいるデータを更新します。- ttlパラメーターの使用
ドキュメントごとのTTLを指定します。例:
curl http://host:port/solr/mykeyspace.mytable/update?ttl=86400
- ttl.field nameパラメーターの使用
フィールドごとのTTLを指定します。例:
curl http://host:port/solr/mykeyspace.mytable/update?ttl.myfield=86400
CQLを使用した有効期限の構成
"https://docs.datastax.com/ja/cql/3.3/ class="p">CQLのINSERTまたはUPDATE操作を使用してTTLプロパティを設定できます。たとえば、コレクション・セットの使用例を続けて、5分(300秒)のTTLプロパティをEinsteinデータのすべてのカラムに挿入します。INSERT INTO mysolr (id, name, title, body)
VALUES ('126', 'Albert Einstein', 'Success', 'If A is success
in life, then A equals x plus y plus z. Work is x; y is play;
and z is keeping your mouth shut.')
USING TTL 300;
数秒後、データの残りのTime To Liveをチェックします。
SELECT TTL (name) FROM mykeyspace.mysolr WHERE id = '126';
9秒の期限切れ後の出力は、以下のようになります。
ttl(name)
-----------
291
残り時間が経過した後、データの期限が切れ、データをクエリーしても結果は返されません。Solr Adminコンソールを更新すると、ドキュメント数は4ではなく3になります。
有効期限範囲の構成
solrconfig.xmlを構成して、ドキュメントごとまたはフィールドごとのTTLをSolrインデックスまたはCassandraデータベースに追加されたデータに含めることができます。Solr HTTP APIクエリーを構築し、ttlコンポーネントを使用してSolrインデックスを検索します。TTLがドキュメント全体に適用されるか、名前付きフィールドのみに適用されるかは、構成によって異なります。
ドキュメントごとまたはフィールドごとのTTLを更新ハンドラーで構成するには:
- solrconfig.xmlの高パフォーマンス更新ハンドラー・セクションを構成します。
- ドキュメントごとのTTLの場合、以下の行を高パフォーマンス更新ハンドラー・セクションに追加します。
<!-- The default high-performance update handler --> <updateHandler class="solr.DirectUpdateHandler2"> . . . <lst name="defaults"> <int name="ttl">1</int> </lst>
- フィールドごとのTTLの場合、以下の行を更新ハンドラー・セクションに追加します。
<lst name = "defaults"> <int name = "ttl.<column/field name1>">1</int> <int name = "ttl.<column/field name2>">1</int> <int name = "ttl.<column/field name3>">1</int> <int name = "ttl.<column/field name4>">1</int> . . . </lst>
- ドキュメントごとのTTLの場合、以下の行を高パフォーマンス更新ハンドラー・セクションに追加します。
- schema.xmlおよびsolrconfig.xmlをアップロードし、Solrコアを再度読み込むことによって、データのインデックスを再作成します。
期限切れカラムの管理
- DSE SearchのTTLリビルド・タイムアウトのために、インデックスが再作成されます。
dse.yamlファイルにttlリビルド・タイムアウト・プロパティを設定します。
- CassandraのTime To Live(TTL)メカニズムのために、行のすべてのカラムの期限が切れ、インデックスからの行/Solrドキュメント全体の削除がトリガーされます。
期限切れカラムの管理には、TTLリビルド・タイムアウト・プロパティを設定することを推奨します。