I figured there was a built in way to say: Hey Master node, reindex on propertyA, propertyB, propertyC for independent faster lookups.
My ES DB is about 250g large now on a single dual purpose Master/Data node. I was having issues where kibana queries were taking > 30 seconds, so it sounds like it might be time to start optimizing.
While I can tweak my logstash instances to pass tweaked data, I was not sure if it is possible to have elastic go over the currently existing data and reindex by more keywords etc.
I can likely update my filter groks in logstash
filter {
grok {
match => [ "path", "%{GREEDYDATA}/%{GREEDYDATA:filename}\.txt"]
}
grok {
match => {
"message" => "%{DATA:sampleinfo}[:;]%{GREEDYDATA:backupinfo}"
}
}
mutate {
gsub => ["backupinfo", "[\n\r\t]", ""]
}
}
But I wasnt sure if I can do this from within Elasticsearch.
Something like: Starting now(), reindex all X,Y,Z and turn it into A,B,C. I figured that when all logstash are updated they will start ingesting the correct information. So i would just need to do an update for all documents from: Oldest entry to now()
I will make a follow up post in Logstash on how to update logstash the things which need to be indexed for the fastest lookup are: timestamp, filename, sampleinfo, backupinfo
I presume there way was a way to redefine a property to have a different value for indexing. All the data are just variable character strings,