I'll give a perspective that comes more from the user's / "market" point of view as at OSC we onboard lots of new organizations into Solr.
- Most new users incorrectly think of Solr as an independent Apache project, and many will have little knowledge or awareness of Lucene itself until given the full history of Lucene, Solr, Elasticsearch... or they have to dive into the code/write a plugin - Most orgs / managers think in terms of "Solr" (as in "Solr" vs "Elasticsearch" vs "Vespa, etc). So the starting point for new devs / folks is from the Solr angle - Lucene, when discussed, is understood more colloquially as a Solr dependency - If someone brings down the code to do some kind of work or investigation, there's typically surprise that Lucene and Solr are bundled together. - There's further surprise as the projects are indeed so different: Lucene and Solr tests, for example look little alike. They seem to have different coding syles / practices. One has more server-like and distributed system concerns; the other is clearly a low-level library for doing search work... I personally have a hard time explaining to new users the rationale for keeping these together, and it only increases the barrier to entry (to both projects) to have this added complexity of two very different code bases munged together. Just my 2 cents... -Doug On Tue, May 12, 2020 at 7:30 AM Alan Woodward <romseyg...@gmail.com> wrote: > One advantage I find with the way Elasticsearch and Lucene interact is > that ES doesn’t depend on the master branch. We upgrade our master branch > frequently to keep up to date with the latest release branch, and that lets > us find regressions or API problems pretty quickly, but it also insulates > us from having to make big changes immediately. I find this really useful > for things like deprecations. Let’s say we deprecate a particular API in > the release branch, and remove it entirely in master. Currently, that > means Solr needs to immediately switch over to the new API in its master > branch. But the whole point of doing deprecations first is that it gives > users time to find issues with the replacements - if we find that the > replacement API doesn’t quite fit in ES, we have time to work out either > how to change our code, or to improve the new API, but because the > deprecated version is still there we’re not blocked from upgrading and > getting other improvements. Solr, meanwhile, may end up with a hacky > workaround because that’s what got tests passing for the Lucene developer; > or worse, we end up just copying the deprecated API wholesale into Solr and > abandoning it there - witness TrieField or UninvertingReader. > > > On 11 May 2020, at 19:05, Atri Sharma <a...@apache.org> wrote: > > > > My two cents: > > > > As a Lucene heavy developer, I have several found maintaining Solr > > dependencies while making large changes a bit cumbersome. I believe > > Lucene and Solr should exist in a symbiotic relationship but not > > tightly coupled with each other. > > > > > > On Mon, May 11, 2020 at 7:22 PM Erik Hatcher <erik.hatc...@gmail.com> > wrote: > >> > >> Without reading much or replying to any specific points made on this > thread, here's my raw thoughts on this age-old topic.... (finally coming > out of my cocoon after taking things in for a bit) > >> > >> Solr is a search -server- with distributed capabilities, that leverages > the magic of Lucene underneath. Solr depends on Lucene, is a consumer of > it. Lucene is a tight search -library- with little to no external > dependencies. Their purposes and end-users are different. > >> > >> I was never really for the grand unification of Lucene and Solr back in > the day because: > >> > >> - Solr's developer experience would be greatly streamlined, faster, > cleaner, leaner, and focused > >> - Having Lucene change when Solr doesni't (yet) adapt to those changes > leads to confusion and inconsistency, loose wires hanging out of the wall > unconnected or duct taped together > >> - It simply makes sense to keep Lucene versioned and tightly controlled > for upgrades, various testing configurations varying Lucene versions, > within Solr > >> - Solr could have a very concerted upgrade effort for Lucene capability > jumps, with a focused upgrade effort at the changed/improved/added touch > points just like other dependencies within Solr (like Tika and Jetty) > >> > >> Those points all kinda say the same thing.... Solr depends on > "lucene.jar" and I'm in the camp that thinks Solr and Lucene development, > communities, and end-users/consumers would all greatly benefit from a fancy > new TLP and focused community for solr.apache.org and a tight(er) > relationship with the Lucene community as an involved and vested consumer. > >> > >> Erik > >> > > > > > > -- > > Regards, > > > > Atri > > Apache Concerted > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org > > For additional commands, e-mail: dev-h...@lucene.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: dev-h...@lucene.apache.org > > -- *Doug Turnbull **| CTO* | OpenSource Connections <http://opensourceconnections.com>, LLC | 240.476.9983 Author: Relevant Search <http://manning.com/turnbull>; Contributor: *AI Powered Search <http://aipoweredsearch.com>* This e-mail and all contents, including attachments, is considered to be Company Confidential unless explicitly stated otherwise, regardless of whether attachments are marked as such.