You're making it too complicated. Both a docValues field and an indexed (not docValues) field will give you the same functionality. For rapidly changing indexes, docValues will load more quickly when a new searcher is opened.
Your question below is not really relevant. **** Can it be *<field name="manu_exact" type="string" indexed="true" stored="false" docValues="true" />* or Two fields each for sorting+faceting and for searching like following. *<field name="manu_exact" type="string" indexed="true" stored="false" /><field name="manu_exact_sort" type="string" indexed="false" stored="false" docValues="true" />* ***** You simply cannot sort, search, or facet on any field for which indexed="false". You can do all three on any field where indexed="true" (assuming it's not multiValued and only has one token since sorting only really makes sense for single-valued fields). It doesn't matter whether the field is docValues="true" or not. So if you want a "rule of thumb", make it a docValues field if you're updating your index rapidly. Otherwise whether a field is docValues or not is largely irrelevant. Best, Erick On Tue, Feb 24, 2015 at 9:09 PM, Modassar Ather <modather1...@gmail.com> wrote: > So for a requirement where I have a field which is used for sorting, > faceting and searching what should be the better field definition. > > Can it be *<field name="manu_exact" type="string" indexed="true" > stored="false" docValues="true" />* > or > Two fields each for sorting+faceting and for searching like following. > > > *<field name="manu_exact" type="string" indexed="true" stored="false" > /><field name="manu_exact_sort" type="string" indexed="false" > stored="false" docValues="true" />* > > Kindly note that it will be better if can use existing field for sorting, > faceting and add searching on it like in example one above. > > Regards, > Modassar > > On Tue, Feb 24, 2015 at 11:15 PM, Erick Erickson <erickerick...@gmail.com> > wrote: > >> Hmmm, that's not my understanding. docValues are simply a different >> layout for storing >> the _indexed_ values that facilitates rapid loading of the field from >> disk, essentially >> putting the uninverted field value in a conveniently-loadable form. >> >> So AFAIK, the field is stored only once and used for all three, >> sorting, faceting and >> searching. >> >> Best, >> Erick >> >> On Tue, Feb 24, 2015 at 4:13 AM, Modassar Ather <modather1...@gmail.com> >> wrote: >> > Thanks for your response Mikhail. >> > >> > On Tue, Feb 24, 2015 at 5:35 PM, Mikhail Khludnev < >> > mkhlud...@griddynamics.com> wrote: >> > >> >> Both statements seem true to me. >> >> >> >> On Tue, Feb 24, 2015 at 2:49 PM, Modassar Ather <modather1...@gmail.com >> > >> >> wrote: >> >> >> >> > Hi, >> >> > >> >> > Kindly help me understand the behavior of following field. >> >> > >> >> > <field name="manu_exact" type="string" indexed="true" stored="false" >> >> > docValues="true" /> >> >> > >> >> > For a field like above where indexed="true" and docValues="true", is >> it >> >> > that: >> >> > 1) For sorting/faceting on *manu_exact* the docValues will be used. >> >> > 2) For querying on *manu_exact* the inverted index will be used. >> >> > >> >> > Thanks, >> >> > Modassar >> >> > >> >> >> >> >> >> >> >> -- >> >> Sincerely yours >> >> Mikhail Khludnev >> >> Principal Engineer, >> >> Grid Dynamics >> >> >> >> <http://www.griddynamics.com> >> >> <mkhlud...@griddynamics.com> >> >> >>