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

Reply via email to