lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clemens Wyss DEV <>
Subject AW: AW: AW: CoreContainer#createAndLoad, existing cores not loaded
Date Fri, 30 Jan 2015 06:37:44 GMT
> The recommendation these days is to NOT use the embedded server
We would love to, as it is clear that this is not the "Solr-way" to go. The reason for us
building upon EmbeddedSolrServer is, we have more than 150sites, each with ist own index (core).
If we'd go client server then we could no easily update the solr server(s) without also updating
all clients (i.e. the 150 sites) at same time. And having a dedicated Solr server for every
client/site is not really an option, is it?

Or can for example a 4.10.3 client "talk" to a Solr 5/6 Server? Also when updating the Solr
server, doesn't that also require a re-index of all data as the Luncene-storage format might
have changed?

-----Urspr√ľngliche Nachricht-----
Von: Shawn Heisey [] 
Gesendet: Donnerstag, 29. Januar 2015 20:30
Betreff: Re: AW: AW: CoreContainer#createAndLoad, existing cores not loaded

On 1/29/2015 10:15 AM, Clemens Wyss DEV wrote:
>> to put your solr home inside the extracted WAR
> We are NOT using war's
>> coreRootDirectory
> I don't have this property in my sorl.xml
>> If there will only be files in that cores directory
> Again, I see no file. I am creating my cores through 
> CoreContainer.createCore( CordeDescriptor). The folder(s) are created 
> but  no file

I am pretty clueless when it comes to the embedded server, but if you are creating the cores
in the java code every time you create the container, I bet what I'm telling you doesn't apply
at all.  The solr.xml file may not even be used.

The recommendation these days is to NOT use the embedded server.  There are too many limitations
and it doesn't receive as much user testing as the webapp.  Start Solr as a separate process
and access it over http.
The overhead of http on a LAN is minimal, and over localhost it's almost nothing.

To do that, you would just need to change your code to use one of the client objects.  That
would probably be HttpSolrServer, which is renamed to HttpSolrClient in 5.0.  They share the
same parent object as EmbeddedSolrServer.  Most of the relevant methods used come from the
parent class, so you would need very few code changes.


View raw message