: Using EmbeddedSolrServer is a client side way of communicating with
: Solr via the file system. Solr has to still be up and running before
: that. My question is more along the lines of how to put the server

Eh ... no it isn't.  EmbeddedSolrServer is an abstraction that lets 
applications written using SolrJ talk directly to a an instance of Solr 
running entirely contained within the JVM -- HTTP is not used, and no 
remote Solr process is needed.

EmbeddedSolrServer was specificly designed for people who want to write 
standalone java applications (ie: command line, or GUI apps) leveraging 
the power of Solr w/o needing a seperate servlet container.

that said: if you are already developing a webapp that will run in a 
servlet container, the simplest thing to do is to run both Solr and your 
webapp in the same container as seperate WARs.  the management of the 
servlet container doesn't increase, and your deployment complexity is just 
one additional war file.

If there is some bogus political reason why that isn't allowed, you could 
either go the EmbeddedSolrServer route -- but then you can't access any of 
the HTTP based admin features of Solr directly -- or you can inlcude the 
Solr JSPs, Servlets, and DispatchFilter (along with their web.xml 
registration) direclty in your app, and interact with it from your other 
code using SolrJ -- either via CommonsHttpSolrServer using "localhost" or 
by (miss)using EmbeddedSolrServer (but i have no idea if there are any 
hicups that you might encounter trying to talk to the 
CoreContainer/SolrCore via EmbeddedSolrServer if the EmbeddedSolrServer 
doesn't have total owenership of them)


-Hoss

Reply via email to