Examples

Each of these examples presupposes that the requisite modules have been imported and an instance of the Elasticsearch client object has been created:

import elasticsearch
import curator

client = elasticsearch.Elasticsearch()

Filter indices by prefix

ilo = curator.IndexList(client)
ilo.filter_by_regex(kind='prefix', value='logstash-')

The contents of ilo.indices would then only be indices matching the prefix.

Filter indices by suffix

ilo = curator.IndexList(client)
ilo.filter_by_regex(kind='suffix', value='-prod')

The contents of ilo.indices would then only be indices matching the suffix.

Filter indices by age (name)

This example will match indices with the following criteria:

  • Have a date string of %Y.%m.%d
  • Use days as the unit of time measurement
  • Filter indices older than 5 days
ilo = curator.IndexList(client)
ilo.filter_by_age(source='name', direction='older', timestring='%Y.%m.%d',
    unit='days', unit_count=5
)

The contents of ilo.indices would then only be indices matching these criteria.

Filter indices by age (creation_date)

This example will match indices with the following criteria:

  • Use months as the unit of time measurement
  • Filter indices where the index creation date is older than 2 months from this moment.
ilo = curator.IndexList(client)
ilo.filter_by_age(source='creation_date', direction='older',
    unit='months', unit_count=2
)

The contents of ilo.indices would then only be indices matching these criteria.

Filter indices by age (field_stats)

This example will match indices with the following criteria:

  • Use days as the unit of time measurement
  • Filter indices where the timestamp field’s min_value is a date older than 3 weeks from this moment.
ilo = curator.IndexList(client)
ilo.filter_by_age(source='field_stats', direction='older',
    unit='weeks', unit_count=3, field='timestamp', stats_result='min_value'
)

The contents of ilo.indices would then only be indices matching these criteria.