eZ Community » Learn » eZ Publish » eZ Find Demystified: Installing and...

eZ Find Demystified: Installing and configuring a multi-core Solr/eZ Find 2.6 instance with eZ Tika

Monday 14 May 2012 8:34:25 pm

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Step 3: Prepare for multi-core and future upgrades

Now we’re going to move the payload of our two extensions so that they are independent of our eZ Publish instances, to enable Solr’s multi-core mode and to facilitate future upgrades. Issue these commands, replacing paths as necessary:

cd /
mkdir -p srv/{tika,solr/cores}
cp -rp /var/www/ezpublish/ezfindexample1/extension/eztika/bin /srv/tika/
cp -rp /var/www/ezpublish/ezfindexample1/extension/ezfind/java /srv/solr/
ln -s /srv/solr/java/solr/lib /srv/solr/cores
mkdir -p /srv/solr/cores/ezfindexample1/data
mkdir -p /srv/solr/cores/ezfindexample2/data
cp -rp /var/www/ezpublish/ezfindexample1/extension/ezfind/java/solr/conf /srv/solr/cores/ezfindexample1/
cp -rp /var/www/ezpublish/ezfindexample2/extension/ezfind/java/solr/conf /srv/solr/cores/ezfindexample2/
 

Essentially, we have copied the eZ Find and eZ Tika binaries to their own directories, and created separate directories to hold the configuration and data directories for each Solr core. When you are done, you should have a directory structure like the following:

srv/
|-- solr
|   |-- cores
|   |   |-- ezfindexample1
|   |   |   |-- conf
|   |   |   `-- data
|   |   `-- ezfindexample2
|   |       |-- conf
|   |       `-- data
|   `-- java
`-- tika
    `-- bin
 

Create a solr.xml file for glocal configuration of Solr cores:

touch /srv/solr/cores/solr.xml
 

Now set permissions:

chmod -R 755 /srv
 

Step 4: Configure Solr and the cores

Edit /srv/solr/cores/solr.xml to look like the following, substituting instanceDir and name as necessary:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true" sharedLib="lib">
<cores adminPath="/admin/cores">
    <core name="ezfindexample1" instanceDir="ezfindexample1" />
    <core name="ezfindexample2" instanceDir="ezfindexample2" />
</cores>
</solr>
 

Edit /srv/solr/cores/ezfindexample1/conf/solrconfig.xml and look for the following element:

 
<dataDir>${solr.data.dir:./solr/data}</dataDir>
 

Replace this element with:

<dataDir>/srv/solr/cores/ezfindexample1/data</dataDir>
 

Repeat for the second core - edit /srv/solr/cores/ezfindexample2/conf/solrconfig.xml and look for the following element:

<dataDir>${solr.data.dir:./solr/data}</dataDir>
 

Replace this element with:

<dataDir>/srv/solr/cores/ezfindexample2/data</dataDir>
 
36 542 Users on board!

Tutorial menu

Printable

Printer Friendly version of the full article on one page with plain styles

Author(s)

Proudly Developed with from