I don't think you can do that. You're essentially trying to mix ordering of the result set. You _might_ be able to kludge some of this with grouping, but I doubt it.
You'll need two queries I'd guess. Best Erick On Mon, Apr 29, 2013 at 9:44 AM, Sandeep Mestry <sanmes...@gmail.com> wrote: > Dear Experts, > > I have a requirement for the exact matches and applying alphabetical > sorting thereafter. > > To illustrate, the results should be sorted in exact matches and all later > alphabetical. > > So, if there are 5 documents as below > > Doc1 > title: trees > > Doc 2 > title: plum trees > > Doc 3 > title: Money Trees (Legendary Trees) > > Doc 4 > title: Cork Trees > > Doc 5 > title: Old Trees > > Then, if user searches with query term as 'trees', the results should be in > following order: > > Doc 1 trees - Highest Rank > Doc 4 Cork Trees - Alphabetical afterwards.. > Doc 3 Money Trees (Legendary Trees) > Doc 5 Old Trees > Doc 2 plum trees > > I can achieve the alphabetical sorting by adding the title sort > parameter, However, > Solr relevancy is higher for Doc 3 (due to matches in 2 terms and so > it arranges > Doc 3 above Doc 4, 5 and 2). > So, it looks like: > > Doc 1 trees - Highest Rank > Doc 3 Money Trees (Legendary Trees) > Doc 4 Cork Trees - Alphabetical afterwards.. > Doc 5 Old Trees > Doc 2 plum trees > > Can you tell me an easy way to achieve this requirement please? > > I'm using Solr 4.0 and the *title *field is defined as follows: > > <fieldType name="text_wc" class="solr.TextField" positionIncrementGap="100" >> > <analyzer type="index"> > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > <filter class="solr.WordDelimiterFilterFactory" > stemEnglishPossessive="0" generateWordParts="1" generateNumberParts="1" > catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" > splitOnNumerics="0" preserveOriginal="1" /> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > <analyzer type="query"> > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > <filter class="solr.WordDelimiterFilterFactory" > stemEnglishPossessive="0" generateWordParts="1" generateNumberParts="1" > catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" > splitOnNumerics="0" preserveOriginal="1" /> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > </fieldType> > > > > Many Thanks in advance, > Sandeep