Question

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.

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top