Well, you could do a magnitude notation approach. Depends on how complex the strings are, but based on your examples, this would work:
1) Identify a series of integers in the string. (This assumes lengths are no more than 9 for each series). 2) Insert the number of integers into the string before the integer series itself So - for sorting - you would have: string1 --> string11 string10 --> string210 string2 --> string12 which will then sort as string11, string12, string210, but use the original strings as the displays you want. Bob Sandiford | Lead Software Engineer | SirsiDynix P: 800.288.8020 X6943 | bob.sandif...@sirsidynix.com www.sirsidynix.com > -----Original Message----- > From: Savvas-Andreas Moysidis > [mailto:savvas.andreas.moysi...@googlemail.com] > Sent: Friday, October 29, 2010 4:33 AM > To: solr-user@lucene.apache.org > Subject: Re: Natural string sorting > > I think string10 is before string2 in lexicographic order? > > On 29 October 2010 09:18, RL <rl.subscri...@gmail.com> wrote: > > > > > Just a quick question about natural sorting of strings. > > > > I've a simple dynamic field in my schema: > > > > <fieldType name="string" class="solr.StrField" sortMissingLast="true" > > omitNorms="true"/> > > <field name="nameSort_en" type="string" indexed="true" stored="false" > > omitNorms="true"/> > > > > There are 3 indexed strings for example > > string1,string2,string10 > > > > Executing a query and sorting by this field leads to unnatural > sorting of : > > string1 > > string10 > > string2 > > > > (Some time ago i used Lucene and i was pretty sure that Lucene used a > > natural sort, thus i expected the same from solr) > > Is there a way to sort in a natural order? Config option? Plugin? > Expected > > output would be: > > string1 > > string2 > > string10 > > > > > > Thanks in advance. > > > > > > -- > > View this message in context: > > http://lucene.472066.n3.nabble.com/Natural-string-sorting- > tp1791227p1791227.html > > Sent from the Solr - User mailing list archive at Nabble.com. > >