Hello all,

I have 3 indexed items. Each item has a field named TITLE_Name_t. The TITLE_ 
Name_t value has the same prefix for all three items, but a different suffix.
The values are:
THE PROMISE YR. 2 (SVOD)_PX217330-M
THE PROMISE YR. 2 (SVOD)_PX218328-M
THE PROMISE YR. 2 (SVOD)_PX217328-M
So the identical prefix is "THE PROMISE YR. 2 (SVOD)_PX", and the difference is 
in the numerical part of each value.
When I sort (ascending order) by the TITLE_ Name_t field, the order is as 
written above. The problem is that the item with the 218 part is between the 
two items whose number part contains 217. Since the prefix is identical until 
the numerical part, I would expect that the items would be ordered according to 
the numerical part (i.e. first 217328, then 217330, then 218328).

In the schema, the TITLE_Name_t is defined as follows:
<field name="TITLE_Name_t" type="textgen-ai" indexed="true" stored="true" 
omitNorms="false" multiValued="false" termVectors="true" termPositions="true"/>

The textgen-ai type is defined as follows:
<fieldType name="textgen-ai" class="solr.TextField" positionIncrementGap="1000">
                <analyzer type="index">
                                <tokenizer 
class="solr.WhitespaceTokenizerFactory"/>
                                <filter class="solr.ASCIIFoldingFilterFactory"/>
                                <filter class="solr.StopFilterFactory" 
ignoreCase="true" words="stopwords.txt"/>
                                <filter class="solr.WordDelimiterFilterFactory" 
generateWordParts="1" generateNumberParts="1" catenateWords="1" 
catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
                                <filter class="solr.LowerCaseFilterFactory"/>
                </analyzer>
                <analyzer type="query">
                                <tokenizer 
class="solr.WhitespaceTokenizerFactory"/>
                                <filter class="solr.ASCIIFoldingFilterFactory"/>
                                <filter class="solr.SynonymFilterFactory" 
synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
                                <filter class="solr.StopFilterFactory" 
ignoreCase="true" words="stopwords.txt"/>
                                <filter class="solr.WordDelimiterFilterFactory" 
generateWordParts="1" generateNumberParts="1" catenateWords="0" 
catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

Here's a screenshot of the search in Solr Admin (hope it will appear in the 
forum. I also upload it to pasteboard - https://pasteboard.co/zs9W4a0dQrOi.png)
[cid:image002.png@01D8C2CF.B51FAB40]

Can someone please help me understand why the results are not ordered as I 
expect them to be?

Thank you,
Netta

Reply via email to