Solr has supported Result Grouping[1] for a long time but has mostly been
duplicative with Collapse & Expand[2].  At the start of the RG docs,
there's this notice which I wrote many (10?) years ago:

> Prefer Collapse & Expand instead
> Solr’s Collapse and Expand Results feature is newer and mostly overlaps
with Result Grouping.
> There are features unique to both, and they have different performance
characteristics.
> That said, in most cases Collapse and Expand is preferable to Result
Grouping.

I wrote that note into the guide to shift our users to the better
alternative so that we could someday more formally actually deprecate then
remove Result Grouping.

I was motivated by a strong distaste, really disgust, at the complexity
that it had, starting with QueryComponent (ground zero for that complexity)
but leaks to many places elsewhere, which is the real indication of a
complex thing.  QC got a little organizational love (thanks Christine) once
but it doesn't change my opinion.  Collapse & Expand then came along and
showed an alternative that is superior from a maintenance / design point of
view (thanks Joel), and typically performs better too.  A colleague noticed
the same complexity and actually ripped it out of our fork, touching some
78 files in the process, including removing a dependency on
lucene-grouping.  I'd be happy to post a draft PR of what that looks like
if it would help motivate us to pursue this.

After polling our users for understanding why they have not moved on, I'd
like to take the next step of deprecating it along with a log message that
would occur on first use via our DeprecationLog mechanism.  It's premature
to discuss deleting the code.  I'm worried that there's functionality that
is used that has no equivalent.

[1]
https://solr.apache.org/guide/solr/latest/query-guide/result-grouping.html
[2]
https://solr.apache.org/guide/solr/latest/query-guide/collapse-and-expand-results.html

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley

Reply via email to