For your first question, wouldn't it be possible to achieve that with some simple boolean logic? I mean, if you have a requirement to match any of the other fields AND description2, but not if it ONLY matches description 2:
say matching x against field A, B, and description 2: ((A:x OR B:x) AND description2:x) would only give you results from description2 IF there is also a match in either one of the other two fields. If I misunderstood your requirements, you should also note that solr supports pure negative field matching aswell, meaning that you CAN exclude results from a specific field entirely. From the wiki: > Pure negative queries (all clauses prohibited) are allowed. > -inStock:falsefinds all field values where inStock is not false > Hope that helps, Aleks On Mon, Jan 11, 2010 at 7:29 PM, Joe Calderon <calderon....@gmail.com>wrote: > thx, but im not sure that covers all edge cases, to clarify > 1. matching description2 is okay if other fields are matched too, but > results matching only to description2 should be omitted > > 2. its okay to not match against the people field, but matches against > the people field should only be phrase matches > > sorry if i was unclear > > --joe > On Mon, Jan 11, 2010 at 10:13 AM, Erik Hatcher <erik.hatc...@gmail.com> > wrote: > > > > On Jan 11, 2010, at 12:56 PM, Joe Calderon wrote: > >> > >> 1. given a set of fields how to return matches that match across them > >> but not just one specific one, ex im using a dismax parser currently > >> but i want to exclude any results that only match against a field > >> called 'description2' > > > > One way could be to add an fq parameter to the request: > > > > &fq=-description2:(<query>) > > > >> 2. given a set of fields how to return matches that match across them > >> but on one specific field match as a phrase only, ex im using a dismax > >> parser currently but i want matches against a field called 'people' to > >> only match as a phrase > > > > Doesn't setting pf=people accomplish this? > > > > Erik > > > > >