Hi,
I forget to add link about discountOverlaps: https://lucene.apache.org/core/4_3_0/core/org/apache/lucene/search/similarities/DefaultSimilarity.html#discountOverlaps ahmet On Monday, February 2, 2015 3:42 PM, Ahmet Arslan <iori...@yahoo.com.INVALID> wrote: Hi Bruno, Recently I observed the same thing. If a query term is expanded into multiple terms (at the same position) in analysis chain, contribution of subqueries are summed. This behaviour boosts expanded terms and may not be always desired. I think there should be a flag/switch which is analogous to relationship between discountOverlaps & document's length. With this control, overlap query terms' (tokens with a position of increment of zero) scores are aggregated differently. e.g. getting maximum. With this, remaining terms (not overlapping ones) are not affected. What do you think about this? Thanks, Ahmet On Monday, February 2, 2015 2:24 PM, Jan Høydahl <jan....@cominvent.com> wrote: I developed a max-score query parser for a customer some time ago, and we gave it back. This should be what you're looking for: https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-MaxScoreQueryParser -- Jan Høydahl, search solution architect Cominvent AS - www.cominvent.com > 2. feb. 2015 kl. 11.56 skrev Bruno René Santos <brunor...@gmail.com>: > > Hi, > > I have the output below on one part of my debugQuery. First I would like to > know why the highlighted part happens. Does it mean that there are multiple > matches on synonyms on the field txtmysite? > > Is it possible to somehow chage the "sum of" operation to a "max of". I > already tweaked the idf operation to always return 1.0 but now I would like > to also control how all the matches are agregated, in order to always get > 1.0 for the "aggregated" idf() > > Best Regards > Bruno Santos > > 50.0 = (MATCH) weight(txtmysite:"(recolh ricolh rrecolh recxlh resolh > reculh reicolh rexolh rescolh recollh recholh ressolh recoulh racolh > reccolh rxcolh) (oleo oleio olxo holeho uleu olio olleo ouleou olao xlex > olio oleio olxo oleo ouliou uliu olieo ollio olmo xlix oliio > holiho)"~100^2.0 in 33424) [], result of: > 50.0 = score(doc=33424,freq=0.1), product of: 10.0 = queryWeight, product > of: 2.0 = boost *5.0 = idf(), sum of:* 1.0 = idf(docFreq=1818, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=1608, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=4, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=4, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=1608, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > queryNorm 5.0 = fieldWeight in 33424, product of: 1.0 = tf(freq=0.1), with > freq of: 0.1 = phraseFreq=0.1 5.0 = idf(), sum of: 1.0 = idf(docFreq=1818, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=1608, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=4, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=4, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=1608, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > fieldNorm(doc=33424) > > -- > <http://about.me/brunorene> > Bruno René Santos > about.me/brunorene > [image: Bruno René Santos on about.me] > <http://about.me/brunorene> On Monday, February 2, 2015 3:42 PM, Ahmet Arslan <iori...@yahoo.com.INVALID> wrote: Hi Bruno, Recently I observed the same thing. If a query term is expanded into multiple terms (at the same position) in analysis chain, contribution of subqueries are summed. This behaviour boosts expanded terms and may not be always desired. I think there should be a flag/switch which is analogous to relationship between discountOverlaps & document's length. With this control, overlap query terms' (tokens with a position of increment of zero) scores are aggregated differently. e.g. getting maximum. With this, remaining terms (not overlapping ones) are not affected. What do you think about this? Thanks, Ahmet On Monday, February 2, 2015 2:24 PM, Jan Høydahl <jan....@cominvent.com> wrote: I developed a max-score query parser for a customer some time ago, and we gave it back. This should be what you're looking for: https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-MaxScoreQueryParser -- Jan Høydahl, search solution architect Cominvent AS - www.cominvent.com > 2. feb. 2015 kl. 11.56 skrev Bruno René Santos <brunor...@gmail.com>: > > Hi, > > I have the output below on one part of my debugQuery. First I would like to > know why the highlighted part happens. Does it mean that there are multiple > matches on synonyms on the field txtmysite? > > Is it possible to somehow chage the "sum of" operation to a "max of". I > already tweaked the idf operation to always return 1.0 but now I would like > to also control how all the matches are agregated, in order to always get > 1.0 for the "aggregated" idf() > > Best Regards > Bruno Santos > > 50.0 = (MATCH) weight(txtmysite:"(recolh ricolh rrecolh recxlh resolh > reculh reicolh rexolh rescolh recollh recholh ressolh recoulh racolh > reccolh rxcolh) (oleo oleio olxo holeho uleu olio olleo ouleou olao xlex > olio oleio olxo oleo ouliou uliu olieo ollio olmo xlix oliio > holiho)"~100^2.0 in 33424) [], result of: > 50.0 = score(doc=33424,freq=0.1), product of: 10.0 = queryWeight, product > of: 2.0 = boost *5.0 = idf(), sum of:* 1.0 = idf(docFreq=1818, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=1608, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=4, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=4, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=1608, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > queryNorm 5.0 = fieldWeight in 33424, product of: 1.0 = tf(freq=0.1), with > freq of: 0.1 = phraseFreq=0.1 5.0 = idf(), sum of: 1.0 = idf(docFreq=1818, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, > maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=1608, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=4, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > idf(docFreq=4, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 1.0 = idf(docFreq=1608, maxDocs=717097) 0.0 > = idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 0.0 = > idf(docFreq=0, maxDocs=717097) 0.0 = idf(docFreq=0, maxDocs=717097) 1.0 = > fieldNorm(doc=33424) > > -- > <http://about.me/brunorene> > Bruno René Santos > about.me/brunorene > [image: Bruno René Santos on about.me] > <http://about.me/brunorene>