Index alias


(derrickburns) #1

Can an index alias refer to other aliases (as long as a cycle is not
introduced)?


(Shay Banon) #2

No, it can only point to an index...

On Mon, Jan 23, 2012 at 11:10 PM, Derrick derrickrburns@gmail.com wrote:

Can an index alias refer to other aliases (as long as a cycle is not
introduced)?


(derrickburns) #3

That's too bad. Here is my need:

I want to offer real time searches on time based data. I implement that
with using a set of indices. One index holds "recent" data, which the
other indices hold "older" data. A single alias pointing to the concrete
indices would work just fine, except ...

To avoid the need to synchronize data movement between the recent and the
older indices, some of the data in the "recent" index is replicated in the
"older" indices. Therefore, to avoid getting back duplicate results, I
filter the data. Your filtered alias feature looks like a perfect fit. But
I need different filters on the recent index and the older indices.

I suppose that I could update the TTL value dynamically on the recent index
as data is added to the older indices. This presumes that a document that
exceeds the TTL value won't be returned in a search. However, this would
require synchronization between the two set of indices, which, as I said, I
would like to avoid.

So, I was hoping that I could have a single alias "all" which would refer
to the "recent" filtered alias and the "older" filtered alias.


(Berkay Mollamustafaoglu-2) #4

You can search through multiple indices together. Would that not help?

Regards,
Berkay Mollamustafaoglu
mberkay on yahoo, google and skype

On Mon, Jan 23, 2012 at 5:45 PM, Derrick derrickrburns@gmail.com wrote:

That's too bad. Here is my need:

I want to offer real time searches on time based data. I implement that
with using a set of indices. One index holds "recent" data, which the
other indices hold "older" data. A single alias pointing to the concrete
indices would work just fine, except ...

To avoid the need to synchronize data movement between the recent and the
older indices, some of the data in the "recent" index is replicated in the
"older" indices. Therefore, to avoid getting back duplicate results, I
filter the data. Your filtered alias feature looks like a perfect fit. But
I need different filters on the recent index and the older indices.

I suppose that I could update the TTL value dynamically on the recent
index as data is added to the older indices. This presumes that a
document that exceeds the TTL value won't be returned in a search.
However, this would require synchronization between the two set of
indices, which, as I said, I would like to avoid.

So, I was hoping that I could have a single alias "all" which would refer
to the "recent" filtered alias and the "older" filtered alias.


(Michael Sick) #5

Derrick,

Why not have a few aliases and time slice your data indexes a little more
narrowly to avoid having to migrate the data? If you have say an index per
day you can alias each day's data to an alias for 'today', 'recent', and
'old'. If you choose this approach, take a look at index templates to make
it easy. Hope that helps.

--Mike

On Mon, Jan 23, 2012 at 5:45 PM, Derrick derrickrburns@gmail.com wrote:

That's too bad. Here is my need:

I want to offer real time searches on time based data. I implement that
with using a set of indices. One index holds "recent" data, which the
other indices hold "older" data. A single alias pointing to the concrete
indices would work just fine, except ...

To avoid the need to synchronize data movement between the recent and the
older indices, some of the data in the "recent" index is replicated in the
"older" indices. Therefore, to avoid getting back duplicate results, I
filter the data. Your filtered alias feature looks like a perfect fit. But
I need different filters on the recent index and the older indices.

I suppose that I could update the TTL value dynamically on the recent
index as data is added to the older indices. This presumes that a
document that exceeds the TTL value won't be returned in a search.
However, this would require synchronization between the two set of
indices, which, as I said, I would like to avoid.

So, I was hoping that I could have a single alias "all" which would refer
to the "recent" filtered alias and the "older" filtered alias.


(derrickburns) #6

Duhhh, search on the two filtered aliases! I am slow today!

Thx


(dib.g) #7

Ho,

I have a similar need from ElasticSearch (v0.90.5). I am indexing logs on a monthly basis e.g. one index per month. So lets say I have the following indices: flume-01-13, flume-02-13, flume-03-13, .... flume-11-13.

I want to create an alias, say current_alias that will point to indices created 3 months from the current month meaning flume-11-13, flume-10-2013, flume-09-2013 in the month of Nov,2013 and will be pointing to flume-12-13, flume-11-2013 and flume-10-2013 in Dec, 2013 and so on.

Is there any way of creating aliases which are dynamic and can be set by matching some rule / regex?

Thanks,

  • Dib

(system) #8