Hi Michael, Thanks for the response! So to answer your first question, yes this would keep the lowest score from the matching sub-scorers. Our use case is that we have a custom term-level score overriding term frequency and we want to take the min of that as part of our scoring function. Maybe it's a niche use case?
Thanks, Marc On Wed, Nov 8, 2023 at 3:19 PM Michael Froh <msf...@gmail.com> wrote: > Hi Marc, > > Can you clarify what the semantics of a DisjunctionMinQuery would be? Would > you keep the score for the *lowest* scoring disjunct (plus some tiebreaker > applied to the other matching disjuncts)? > > I'm trying to imagine how that would work compared to the classic DisMax > use-case. Say I'm searching for "dalmatian" using a DisMax query over term > queries against title and body. A match on title is probably going to score > higher than a match against the body, just because the title has a shorter > length (and the doc frequency of individual terms in the title is likely to > be lower, since there are fewer terms overall). With DisMax, a match on > title alone will score higher than a match on body, and the tie-break will > tend to score a match on title and body higher than a match on title alone. > > With a DisMin (assuming you keep the lowest score), then a match on title > and body would probably score lower than a match on title alone. That feels > weird to me, but I might be missing the use-case. > > How would you use a DisMinQuery? > > Thanks, > Froh > > > > On Wed, Nov 8, 2023 at 10:50 AM Marc D'Mello <marcd2...@gmail.com> wrote: > > > Hi all, > > > > I noticed we have a DisjunctionMaxQuery > > < > > > https://github.com/apache/lucene/blob/branch_9_7/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java > > > > > but > > not a corresponding DisjunctionMinQuery. I was just wondering if there > was > > a specific reason for that? Or is it just that it is not a common query > to > > use? > > > > Thanks! > > Marc > > >