You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Deeksha Sharma <DS...@flexerasoftware.com> on 2017/02/16 22:55:01 UTC

Sort by field Type String

Hi,

I have an index with a field that looks like below:
<field name="version"        type="string" indexed="true" stored="true" required="true"/>

Below are some examples of version values:

        "version":"2.0.5"},
      {
        "version":"1.10-b04"},
      {
        "version":"2.3.3"},
      {
        "version":"2.0-M5.1"},
      {
        "version":"0.4.0"},
      {
        "version":"2.1.0-M01"},
      {
        "version":"2.0.3"},
      {
        "version":"4.2.2"},
      {
        "version":"5.2.12.Final"},
      {
        "version":"1.7.4"}]
     }

As per the instructions in documentation here: https://cwiki.apache.org/confluence/display/solr/Common+Query+Parameters#CommonQueryParameters-ThesortParameter

When I query solr, I want to sort the results by this version. When I in my query sort=version asc it gives me some weird result (shown below):


{
  "responseHeader":{
    "status":0,
    "QTime":0,
    "params":{
      "q":"*:*",
      "indent":"true",
      "fl":"version",
      "sort":"version asc",
      "wt":"json"}},
  "response":{"numFound":5249127,"start":0,"docs":[
      {
        "version":"\"1.0.0"},
      {
        "version":"\"1.0.0"},
      {
        "version":"$%7Bcucumber-jvm.version%7D"},
      {
        "version":"$%7Bcucumber-jvm.version%7D"},
      {
        "version":"$%7Bcucumber-jvm.version%7D"},
      {
        "version":"$%7Blog4jplugin.version%7D"},
      {
        "version":"$%7Blog4jplugin.version%7D"},
      {
        "version":"$%7Blog4jplugin.version%7D"},
      {
        "version":"$%7Blog4jplugin.version%7D"},
      {
        "version":"${env.VERSION}"}]
  }}

Can someone please help?


Re: Sort by field Type String

Posted by "alessandro.benedetti" <a....@sease.io>.
What were you expecting ?
Those results seems properly sorted to me for the little I see.

If you want to ignore some character and sort in a different way, you may be
interested in possibly alternative field types.

For example :

    <fieldType name="alphaOnlySort" class="solr.TextField"
sortMissingLast="true" omitNorms="true">
      <analyzer>
        
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        
        <filter class="solr.LowerCaseFilterFactory" />
        
        <filter class="solr.TrimFilterFactory" />   
        <filter class="solr.PatternReplaceFilterFactory"
                pattern="([^a-z])" replacement="" replace="all"
        />
      </analyzer>
    </fieldType>

Cheers



-----
---------------
Alessandro Benedetti
Search Consultant, R&D Software Engineer, Director
Sease Ltd. - www.sease.io
--
View this message in context: http://lucene.472066.n3.nabble.com/Sort-by-field-Type-String-tp4320855p4320920.html
Sent from the Solr - User mailing list archive at Nabble.com.