apache / apache/lucene

join module should not depend on grouping module [LUCENE-3997]

Open
#5,070 21 comments 0 reactions 0 assignees View on GitHub
affects-version:4.0-ALPHA legacy-jira-fix-version:4.9 legacy-jira-fix-version:6.0 legacy-jira-priority:Major type:task
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

I think TopGroups/GroupDocs should simply be in core?

Both grouping and join modules use these trivial classes, but join depends on grouping just for them.

I think its better that we try to minimize these inter-module dependencies.
Of course, another option is to combine grouping and join into one module, but
last time i brought that up nobody could agree on a name.

Anyway I think the change is pretty clean: its similar to having basic stuff like Analyzer.java in core,
so other things can work with Analyzer without depending on any specific implementing modules.

---
Migrated from [LUCENE-3997](https://issues.apache.org/jira/browse/LUCENE-3997) by Robert Muir (@rmuir), updated May 09 2016
Attachments: [LUCENE-3997.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-3997/LUCENE-3997.patch) (versions: 2)

Contributor guide

Open the contributing guide

Research direction

Review the core, grouping, and join modules along with the TopGroups and GroupDocs classes; the attached LUCENE-3997.patch provides prior context. Start by tracing the module dependency and usages of these classes. Done means join no longer depends on grouping while both modules continue to use the shared classes correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.