I'm using CollectionKeyFilter to sort my documents using the Unicode root collation, and my documents do appear to be getting sorted correctly, but I'm getting weird results when performing range filtering using the sort key field. For example:

ifp_sortkey_ls:["youth culture" TO "youth culture"]

and

ifp_sortkey_ls:{"youth culture" TO "youth culture"}

both return 0 hits

but

ifp_sortkey_ls:"youth culture"

returns 1 hit

It seems as if any query using the ifp_sortkey_ls:[A to B] syntax is acting as if the terms A, B are greater than all documents whose sortkeys start with an A-Z character, but less than a few documents that have greek letters as their first characters of their sortkeys.

the analysis chain for ifp_sortkey_ls is:

<fieldType name="sortkey" stored="false" indexed="true" class="solr.TextField" positionIncrementGap="100" omitNorms="true" omitTermFreqAndPositions="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<!-- The TrimFilter removes any leading or trailing whitespace -->
<filter class="solr.TrimFilterFactory" />
<filter class="solr.CollationKeyFilterFactory"
                language=""
                strength="primary"
                />
</analyzer>
</fieldType>

Does anyone have any idea what might be going on here?

Reply via email to