我正在尝试对以下字段进行方面搜索:
<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
,而不是结果中显示的字段值。
答案 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的方面索引部分。