facet搜索结果未显示正确的facet.field值

时间:2013-12-02 08:59:48

标签: solr facet

我正在尝试对以下字段进行方面搜索:

<field name="productTaxonomyName" type="text_en" indexed="true" stored="true" multiValued="false" />

方面搜索select?q=gold&rows=0&wt=json&indent=true&facet=true&facet.query=gold&facet.field=productTaxonomyName的结果是:

facet_fields":{
  "productTaxonomyName":[
    "set",2018,
    "necklac",1937,
    "ear",1761,
    "ring",750,
    "pendant",524,
    "bracelet",348,
    "anklet",112,

字段值应为necklace sets, necklaces, earrings, mangalsutras, rings, pendants, bracelets and anklets,而不是结果中显示的字段值。

1 个答案:

答案 0 :(得分:1)

由于productTaxonomyName字段的fieldType,您会看到这些方面的结果。 fieldType=text_en设置正在对当前字段应用过滤,词干化,标记化等。您应该使用fieldType=string存储facet数据以及当前使用的那个数据,然后再面对这个新字段。

<field name="productTaxonomyName" type="text_en" indexed="true" stored="true" multiValued="false" />
<field name="productTaxonomyName_facet" type="string" indexed="true" stored="false" multiValued="false" />

然后您可以使用copyField指令填充新字段:

 <copyField src="productTaxonomyName" dest="productTaxonomyName_facet" />

将您的查询更新为以下内容:

select?q=gold&rows=0&wt=json&indent=true&facet=true
  &facet.query=gold&facet.field=productTaxonomyName_facet

有关详细信息,请参阅Solr Faceting Overview的方面索引部分。