: Currently, edismax applies mm to the combination of all fields listed in qf.
: 
: I would like to have mm applied individually to those fields instead.

That doesn't really make sense if you think about how the "qf" is used to 
build the final query structure -- it is essentially producing a cross 
product of the "fields" in the qf and the "chunks" of input in the query 
string.  the mm param says how many clauses of the final resulting query 
(which are each queries for the same "chunk" across multiple fields) must 
match.  This blog i wrote a while back tries to explain this...

http://searchhub.org/2010/05/23/whats-a-dismax/

: For instance, the query:
: 1)
: defType=edismax&q=leo foster&mm=2&qf=title^5
: summary^2&pf=title^5&fq=contentsource:src1
: 
: would return a doc where
: title: leo lee
: summary:Joe foster

which is exactly what it's designed to do -- that way queries like "David 
Smiley Solr Enterprise Search Server" will match a document with "David 
Smiley" in the author field and "Apache Solr 3 Enterprise Search Server" 
in the title field.

: For the original query 1), having an additional parameter like:
: 
: - mm.qf=true (tell solr to do mm on individual fields in qf )
: or
: - mm.pf=true (tell solr to do mm on individual fields in pf)
: 
: or anything along the line would be useful.

...but you have to think about what you would want solr to do with params 
like that -- look at the query structure solr produces wih multiple fields 
in the qf, and multiple terms in the query string. look at where the 
minNumberShouldMatch is set on the outer BooleanQuery and think about 
where/how you would like to see a "per-field" mm applied -- if you can 
explain that in psuedo-code, then it's certainly worth discussing, but i'm 
not understanidng how it would make sense.


-Hoss

Reply via email to