Daniel, I'm still trying to get more legitimate load testing on our 
separate-Solr-system. But anecdotally, my single-user trials of 
problematic queries have been faster than on an embedded-Solr without 
exception. This is with an untuned Solr JVM and with both Nakamura and 
Solr running on the same non-clustered system, which naturally minimizes 
network overhead. I suspect the gain is due to more efficient memory and 
thread handling.

In our CalCentral development branch (based on 1.2.0), I've got a fairly 
good start at Maven procedures for the following tasks:

* Check out and build a new Solr server executable and sample-directory 
JAR based on the Apache Solr trunk:
https://github.com/ets-berkeley-edu/myberkeley/blob/dev/solrjar/pom.xml
(We're not using a blessed release version of Solr, and so it behooves 
us to stay at least slightly up to date with their working branch.)

* Merge our Solr configuration additions with Nakamura's Solr 
configuration customizations and with the current Solr default 
configurations:
https://github.com/ets-berkeley-edu/myberkeley/tree/dev/solrconf

* Unpack the Solr-server JAR into its own directory, configure the OAE 
to use the separate Solr server, and start and stop the Solr server:
https://github.com/ets-berkeley-edu/myberkeley/tree/dev/solrserver

As with the Calendar/ICS work I've done recently, I'd love to figure out 
a way to productize this for use by the central project.

Best,
Ray

On 4/29/12 8:10 PM, Max Whitney wrote:
> Hi all:
>
> I've cobbled together a couple of sources, and I think I have a valid set of 
> instructions for configuring solr in a separate space, as proof of concept 
> for getting it onto a separate node. If someone more knowledgeable spots an 
> error, please do correct me.
>
> Separating Solr
>
> You want this, it makes everything searchable. And faster. Put it on another 
> machine.
>
> Fire up a subdomain and name it solr.example.edu.
>
> Shut down any nakamura you might have running before you get started, so 
> you're in a clean state.
>
> Download the OAE specific build of pre-release Solr version 4 from 
> http://source.sakaiproject.
> org/release/oae/solr/solr-example.tar.gz
>
> Create a solr directory on your solr.example.edu server, and unzip the 
> tarball there, to generate a directory named 'example' within the solr 
> directory. This 'example' directory structure is drawn directly from the 
> Apache solr suggested setup, and is going to be our actual solr setup, not 
> merely an example one.
>
> mkdir -p source/solr
> mv solr-example.tar.gz solr
> cd solr
> gunzip solr-example.tar.gz
> tar -xvf solr-example.tar
>
> There, now you have a directory structure like:
>     source/
>                 solr/
>                       example/
>
> Retrieve the configuration files from the OAE 1.2 release link at
> https://github.com/sakaiproject/solr/tree/org.sakaiproject.nakamura.solr-1.4.2.
> Click the ZIP button at that location to retrieve the configuration files. 
> This will get you a zip file:
> sakaiproject-solr-org.sakaiproject.nakamura.solr-1.4.2-0-g23dfa59.zip.
>
> Unzip this one in your source directory and move just the resources folder 
> into your solr direcotry:
>
> cd source
> unzip sakaiproject-solr-org.sakaiproject.nakamura.solr-1.4.2-0-g23dfa59.zip
>
> make the configuration directory:
> mkdir -p solr/conf
>
> copy the configuration files into your solr conf directory
> cp -pr sakaiproject-solr-7404157/src/main/resources/* solr/conf
>
> Now, you'll have a directory structure like:
>     source/
>                 solr/
>                       example/
>                       conf/
>
>> From the example directory, as a non-root user start it up. Note that the 
>> solr.solr.home value is the directory where you just unzipped the 
>> configuration files.
>
> cd solr/example
> java -Dsolr.solr.home=/home/whitney/source/solr -Djetty.port=8983 -jar 
> start.jar 1>  run.log 2>&1&
>
>
> The solr service creates a data directory once it starts up. Now, you'll have 
> a directory structure like:
>     source/
>                 solr/
>                       example/
>                       conf/
>                      data/
> The run.log is in the example directory, where you kicked off the java process
>
> Good output looks like this:
> === system out extract ====
> INFO: SolrDispatchFilter.init() done
> 2012-04-30 01:41:50.896:INFO::Started [email protected]:8983
> Apr 30, 2012 1:41:50 AM org.apache.solr.core.SolrCore execute
> INFO: [] webapp=null path=null params={start=0&event=firstSearcher&q=solr
> +rocks&rows=10} hits=0 status=0 QTime=53
> Apr 30, 2012 1:41:50 AM org.apache.solr.core.SolrCore execute
> INFO: [] webapp=null path=null 
> params={event=firstSearcher&q=static+firstSearcher
> +warming+query+from+solrconfig.xml} hits=0 status=0 QTime=5
> Apr 30, 2012 1:41:50 AM org.apache.solr.core.QuerySenderListener newSearcher
> INFO: QuerySenderListener done.
> Apr 30, 2012 1:41:50 AM org.apache.solr.core.SolrCore registerSearcher
> INFO: [] Registered new searcher Searcher@f102d3 main
> === end system out extract ====
>
> Certify the solr setup via a web browser by accessing 
> http://solr.example.edu:8983/solr. You should get a nice solr interface at 
> that url.
>
> Next is to configure your nakamura to reach out to the remote solr indexer 
> before starting OAE up to use the new, offboard solr.
>
> Create a file named org.sakaiproject.nakamura.solr.RemoteSolrClient.cfg in 
> the nakamura load directory with the single line:
>
> remoteurl = http://solr.example.edu:8983/solr
>
> Create a file named org.sakaiproject.nakamura.solr.SolrServerServiceImpl.cfg 
> in the nakamura load directory with the single line:
>
> solr-impl = remote
>
> And start up your nakamura
>
> cd nakamura
> ./tools/run_productions.sh&
>
> Solr indexing will now occur on the solr.example.edu host, while the 
> application work occurs on your main host.
>
>
> _______________________________________________
> oae-dev mailing list
> [email protected]
> http://collab.sakaiproject.org/mailman/listinfo/oae-dev
>

_______________________________________________
oae-dev mailing list
[email protected]
http://collab.sakaiproject.org/mailman/listinfo/oae-dev

Reply via email to