Plugin for SOLR that reads from a AMQP queue. Uses RabbitMQ as the client library.
Java
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings
bin
lib
src
target
.classpath
.gitignore
.project
README.rst
pom.xml

README.rst

SolrMQ

SolrMQ is a plugin for Solr that allows you to send updates to Solr using a AMQP messaging queue. We use the RabbitMQ library.

It makes use of the current Solr update plugins and allows you to specify the Queue name and Update handler.

You will need to add a new request handler (in your solrconfig) similar to the following.

Sample SolrConfig config::

<requestHandler name="/mq" class="org.apache.solr.handler.ext.SolrMessageQueue" >
   <str name="messageQueueHost">localhost</str>
   <str name="queue">solrmq</str>
   <str name="updateHandlerName">/update</str>
   <lst name="workerSettings">
      <!-- <str name="virtualHost">bob</str> -->
      <lst name="authentication">
          <str name="username">user</str>
          <str name="password">password</str>
      </lst>
      <!--
       <lst name="exchange">
          <str name="name">search_index</str>
          <str name="type">fanout</str>
      </lst>
      -->
   </lst>
   <lst name="errorQueue">
      <str name="messageQueueHost">localhost</str>
      <str name="queue">solrmq-errors</str>
       <!-- <str name="virtualHost">bob</str> -->
      <lst name="authentication">
          <str name="username">user</str>
          <str name="password">password</str>
      </lst>
   </lst>
</requestHandler>

You will need to put the ./bin/plugin-solr-mq.jar and the ./lib/rabbitmq-client.jar into the solr lib directory, or load it via the solrconfig.xml.

Note: the plugin should not be loaded lazily, and neither should the update handler.

At the moment it is a fire-and-forget standard queue. We will add in other queue mechanisms shortly, and add in error handeling, such as logging, and error queues.