Reputation: 7280
I am trying to do a facet search on the following field:
<field name="productTaxonomyName" type="text_en" indexed="true" stored="true" multiValued="false" />
the result for the facet search select?q=gold&rows=0&wt=json&indent=true&facet=true&facet.query=gold&facet.field=productTaxonomyName
were:
facet_fields":{
"productTaxonomyName":[
"set",2018,
"necklac",1937,
"ear",1761,
"ring",750,
"pendant",524,
"bracelet",348,
"anklet",112,
The field values should be necklace sets, necklaces, earrings, mangalsutras, rings, pendants, bracelets and anklets
instead of what is showing up in the results.
Upvotes: 0
Views: 321
Reputation: 22555
You are seeing these facet results because of the fieldType
for your productTaxonomyName field. The fieldType=text_en
settting is applying filtering, stemming, tokenization, etc. to the current field. You should store facet data with a fieldType=string
in addition to the one you are currently using and then facet against this new field.
<field name="productTaxonomyName" type="text_en" indexed="true" stored="true" multiValued="false" />
<field name="productTaxonomyName_facet" type="string" indexed="true" stored="false" multiValued="false" />
Then you can use a copyField directive to populate the new field:
<copyField src="productTaxonomyName" dest="productTaxonomyName_facet" />
Update your query to the following:
select?q=gold&rows=0&wt=json&indent=true&facet=true
&facet.query=gold&facet.field=productTaxonomyName_facet
For more details on this see the Facet Indexing section of Solr Faceting Overview.
Upvotes: 1