Hey,
I have been having some problems getting good search results when
using weighting against many fields with multi-values. After quite a bit
of testing it seems to me that the problem is (at least as far as my
query is concerned) is that the only one weighting is taken into account
per field. For example, in a multi-value field if we have "Comedy" and
"Romance" and have separate weightings for those - the one with the
highest weighting is used (and not a combined weighting). Which means
that searched for romantic comedy returns "Alvin and the Chipmunks"
(Family, Children Comedy).
Query:
facet=on&fl=id,name,matching_genres,score,url_path,url_key,price,special_price,small_image,thumbnail,sku,stock_qty,release_date&sort=score+desc,retail_rating+desc,release_date+desc&start=&q=**+-sku:"1019660"+-movie_id:"1805"+-movie_id:"1806"+(series_names_attr_opt_id:"454282"^9000+OR+cat_id:"22"^90000+OR+cat_id:"248"^90000+OR+cat_id:"249"^90000+OR+matching_genres:"Comedy"^90000+OR+matching_genres:"Romance"^70000+OR+matching_genres:"Drama"^50000)&fq=store_id:"1"+AND+avail_status_attr_opt_id:"available"+AND+(format_attr_opt_id:"372619")&rows=4
Now if I change matching_genres:"Romance"^70000 to
matching_genres:"Romance"^700000 (adding a 0) suddenly the first result
is "Sex and the City: The Movie / Sex and the City 2" (which ironically
is "Drama", "Comedy", "Romance - The very combination we are looking for).
So is there a way to structure my query so that all of the
multi-value values are treated individually? Aggregating the
weighting/score?
Thanks in advance!
David