I have heard here that stored fields don't work well with OS file caching. Could someone elaborate on why that is? I am using Lucene 4.6 and we do use stored fields but not doc values; it appears most of the benefit from the latter comes as improvement in sorting performance, and I don't actually use Lucene for sorting at all; rather, it's done on a post-processing basis, based on stored field values (in a nutshell, the reason for this is Lucene's inability to tell apart terms that are empty strings vs. a missing value, resulting in unstable sort order on such fields).
I am not sure if switching to using doc values fields from stored fields entirely would help leverage OS file cache better... what worries me is that when processing queries requesting multiple values from the document, doc value fields could cause multiple disk seeks to fetch values for each field, as opposed to just one with stored fields. Am I way off in my understanding of how this works? Any guidelines, as general as they may be, are appreciated.