DSE Searchカラムの期限切れ

DSE Searchカラムを更新して、以下の方法でデータの期限切れ時間を設定できます。

DSE Searchカラムを更新して、以下の方法でデータの期限切れ時間を設定できます。

solrconfig.xmlファイルでTTLを構成する場合、Solr HTTP APIまたはCQLを使用して別のTTLを構成します。Solr HTTP APIまたはCQLが優先されます。

Solr HTTP APIを使用した有効期限の構成

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を更新ハンドラーで構成するには:

  1. 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>
      
  2. schema.xmlおよびsolrconfig.xmlをアップロードし、Solrコアを再度読み込むことによって、データのインデックスを再作成します。

期限切れカラムの管理

Time To Live(TTL)メカニズムによりCassandraのカラムの期限が切れた後でも、DSE Searchは期限切れカラムを検索できます。以下のいずれかの状況になるまで、カラム・データはインデックス内に残されます。

期限切れカラムの管理には、TTLリビルド・タイムアウト・プロパティを設定することを推奨します。