> 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