Realtime GET support allows to get a document once indexed regardless of the "refresh rate" of the index. It is enabled by default.
In order to disable realtime GET, one can either set realtime parameter to false, or globally default it to by setting the action.get.realtime to false in the node configuration.
When getting a document, one can specify fields to fetch from it. They will, when possible, be fetched as stored fields (fields mapped as stored in the mapping). When using realtime GET, there is no notion of stored fields (at least for a period of time, basically, until the next flush), so they will be extracted from the source itself (note, even if source is not enabled). It is a good practice to assume that the fields will be loaded from source when using realtime GET, even if the fields are stored.
Realtime GET, closes #1060.
+1. I'll definitely give it a spin today
Definitely, ES is getting more closer to CouchDB :-)
@stephane-bastian cool, would love an early feedback on this
Kimchy this feature is fantastic, now we can use it as a better datastore.
Does this mean a fetch by id will return this "soon to be indexed" document, or will it be part of any query result which includes the document?
When a document is indexed, its indexed, its not "soon to be indexed". When it becomes visible for search is the question (and thats the async refresh). Fetch by Id will work even if it has not been refreshed yet.
Unfortunately I got sidetracked by some higher priority tasks. Things are settling down and I hope to test the RT get feature today or tomorrow