If you are on the latest Solr (7.3+), try switching from TextField to
SortableTextField in your string_ci definition above.

That type implicitly uses docValues and should return original text
for faceting purposes, while still allowing analyzers.

Regards,
   Alex.
On Thu, 6 Dec 2018 at 08:26, Ritesh Kumar
<ritesh.ku...@hotwaxsystems.com> wrote:
>
> Hello team,
>
> I am trying to prepare facet on a field of type string. The facet data will
> be shown according to the user's query on this very field.
>
> <field name="fieldName" type="string" indexed="true" stored="true"
> required="false" multiValued="false"/>
>
>
> As this field is of type string, it works fine with case sensitive query. I
> want to be able to query on this field irrespective of the case.
>
> I tried changing the field type to string_ci as defined below
>
> <fieldType name="string_ci" class="solr.TextField" sortMissingLast="true"
> omitNorms="true">
>     <analyzer type="query">
>         <tokenizer class="solr.KeywordTokenizerFactory"/>
>         <filter class="solr.LowerCaseFilterFactory"/>
>     </analyzer>
> </fieldType>
>
> <field name="fieldName" type="string_ci" indexed="true" stored="true"
> required="false" multiValued="false"/>
>
> Now, in this case, I am able to perform a case-insensitive query but the
> facet values are being shown in lowercase.
>
> I want to be able to perform a case-insensitive query on this field but
> show the original data.
> Is there anything I can do achieve this.
>
> Best,
>
> --
> Ritesh Kumar

Reply via email to