> I am trying to figure out if a particular use case is
> possible with solr. Let's say we are using solr to store a
> group of people and the universities they attended. We have
> four fields - NAME, PHD to house the name of the university
> they received a phd degree from, MASTERS to house the name
> of the university they received a masters from and BACHELORS
> to house the university the received a bachelors from. We
> also want to give a really big boost to matches for the PHD
> field (100), a big boost for matches to the MASTERS field
> (50) and a small boost to matches for the BACHELORS field
> (10). If someone attended the same university for all three
> degrees, we only want to use the score for the highest
> boost, the PHD field. The desired net result would be a
> search for 'Stanford' would boost documents the same for
> someone that received a PHD from Stanford as someone that
> received a PHD, a MASTERS and a BACHELORS from Stanford. We
> don't want the boosted score of all three fields to be used
> so simply adding all the boosted fields won't work. Is this
> possible and if so, what's the best way? A boost function
> using subqueries?

Closest thing would be using dismax query parser with tie=0 value which makes 
the query pure "disjunction max query".

&defType=dismax&qf=NAME PHD MASTERS BACHELORS&tie=0.0&q=Stanford

http://wiki.apache.org/solr/DisMaxQParserPlugin#tie_.28Tie_breaker.29

Reply via email to