不区分大小写的Solr查询facet但保留结果的大小写

时间:2017-09-23 05:52:34

标签: solr full-text-search faceted-search

我正在使用Solr为我们的电子商务应用程序提供分面功能。它已按标准方式实施,如https://wiki.apache.org/solr/SimpleFacetParameters#Tagging_and_excluding_Filters

所述

在应用程序方面,我们使用Solr返回的facet来提供UI上的过滤体验,并使用facets作为params构建URL。然后使用这些参数将fq的刻面参数进一步传递给Solr。

这很有效,除了我们的URL区分大小写,因为当我们更改为小的情况时,facet查询不再起作用并且给我们未定义的字段错误。

我们如何为Faceting设置不区分大小写的Solr查询,但仍保留用于显示构面的结果的大小写?

1 个答案:

答案 0 :(得分:1)

首先:您收到有关未定义字段的错误似乎很奇怪。您可能不应该让最终用户在不验证字段的情况下指定使用的字段,而不是允许过滤或分割的字段。

第二:使用一个字段生成构面,使用一个场进行过滤。没有任何内容表明您必须使用相同的字段来呈现构面并在fq中使用。

您可以使用包含KeywordTokenizer和LowercaseFilter的字段进行过滤,然后使用<copyField>将用于分面的字段中的内容复制到小写字段进行过滤。