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.