> Every product we have comes in colour and size combinations,
> I need to do a
> faceted search on these that allows for colour and size and
> various other
> fields. A single product may have multiple colours and multiple sizes.
>
> For example a style might be available in black size 12, but
> also have other
> sizes in red. If someone searches for red and size 12, it
> should not bring
> the product as that combination is not possible.

I'm no expert, but one way to do this would be to have a multi-valued field 
with all the possible combinations, eg if you have the following in your data:

<color>
        <value>red</value>
        <sizes>10,12</sizes>
</color>
<color>
        <value>black</value>
        <sizes>8,10</sizes>
</color>

you could create a solr doc with a mulitvalued "color" field:

<color>color_red size_10 size_12</color>
<color>color_black size_8 size_10</color>

Then if you set the "positionIncrementGap" in your schema to a sufficiently 
high value (say 1000), you can use the following query to search for a color 
size combination:

color:"color_red size_10"~1000

which executes a phrase search with a slop factor of 1000, ensuring it won't 
cross the field boundary

hope this helps!
-Ken

Reply via email to