: 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