A concrete index is simply a real index that is stored in Elasticsearch and that you can list with a /_cat/indices
command such as
curl 'localhost:9200/_cat/indices?v'
As you probably know, when searching you can either specify:
- one concrete index:
/my_index/_search
- more than one concrete indices:
/my_index1,my_index2/_search
- one alias:
/my_alias/_search
- more than one aliases:
/my_alias1,my_alias2/_search
- an index wildcard:
/my_*/_search
In cases 1 and 2, you specify concrete indices, i.e. indices that you would see listed by the /_cat/indices
command above.
In cases 3 and 4, the alias(es) you specify will resolve to concrete indices, so that in the end if my_alias
is an alias for my_index1
and my_index2
, then 3. is equivalent to 2.
In case 5, it's just a shortcut to not have to list all concrete indices whose name starts with the prefix my_
. You often use that when you have time-based indices, such as logstash-2015*
for all logstash indices of the year 2015.
To sum it up, a concrete index is an index that you have created one way or another and that will show when listing all indices of present in your Elasticsearch instance.