c499427166
Today we do a lot of accounting inside the engine to maintain locations of documents inside the transaction log. This is only needed to ensure we can return the documents source from the engine if it hasn't been refreshed. Aside of the added complexity to be able to read from the currently writing translog, maintainance of pointers into the translog this also caused inconsistencies like different values of the `_ttl` field if it was read from the tlog or not. TermVectors are totally different if the document is fetched from the tranlog since copy fields are ignored etc. This chance will simply call `refresh` if the documents latest version is not in the index. This streamlines the semantics of the `_get` API and allows for more optimizations inside the engine and on the transaction log. Note: `_refresh` is only called iff the requested document is not refreshed yet but has recently been updated or added. #Relates to #19787 |
||
---|---|---|
.. | ||
src | ||
build.gradle |