Way to factor in search locality?

Your analysis is correct. Index requests are currently mapped onto indexWriter.addDocuments calls (see here). Ordering them by user will thus give good locality in FOR. If you want stronger guarantees in presence of new document additions, you would currently need to implement a custom SortingMergePolicy for ES. With index sorting having just become a first-class citizen in Lucene 6.2 we are working towards exposing this functionality in a configurable way in ES.