You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ko...@apache.org on 2020/02/05 00:32:58 UTC

[couchdb-documentation] 01/01: Document Clouseau install process

This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch clouseau-install
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git

commit 6d17b583dae206cd1df8c446d76588cf87140f73
Author: Adam Kocoloski <ko...@apache.org>
AuthorDate: Tue Feb 4 19:31:57 2020 -0500

    Document Clouseau install process
---
 src/ddocs/search.rst   |   3 +-
 src/install/index.rst  |   1 +
 src/install/search.rst | 101 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 104 insertions(+), 1 deletion(-)

diff --git a/src/ddocs/search.rst b/src/ddocs/search.rst
index 38d351b..34d9464 100644
--- a/src/ddocs/search.rst
+++ b/src/ddocs/search.rst
@@ -24,7 +24,8 @@ groups, facets, or geographical searches.
 
 .. warning::
     Search cannot function unless it has a functioning, cluster-connected
-    Clouseau instance.
+    Clouseau instance. See :ref:`Search Plugin Installation <install/search>`
+    for details.
 
 To create a search index, you add a JavaScript function to a design document in the
 database. An index builds after processing one search request or after the server detects
diff --git a/src/install/index.rst b/src/install/index.rst
index 02a645e..fc8f6f6 100644
--- a/src/install/index.rst
+++ b/src/install/index.rst
@@ -26,5 +26,6 @@ Installation
     docker
     snap
     kubernetes
+    search
     upgrading
     troubleshooting
diff --git a/src/install/search.rst b/src/install/search.rst
new file mode 100644
index 0000000..872930b
--- /dev/null
+++ b/src/install/search.rst
@@ -0,0 +1,101 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _install/search:
+
+==========================
+Search Plugin Installation
+==========================
+
+.. versionadded:: 3.0
+
+.. highlight:: ini
+
+CouchDB can build and query full-text search indexes using an external Java
+service that embeds `Apache Lucene <http://lucene.apache.org>`_. Typically, this
+service is installed on the same host as CouchDB and communicates with it over
+the loopback network.
+
+The search plugin is runtime-compatible with Java JDKs 6, 7 and 8. Building a
+release from source requires JDK 6.
+
+Installation of Binary Packages
+===============================
+
+IBM maintains binary packages of the search service on `GitHub`_ that bundle all
+the necessary dependencies. The files in each release should be unpacked into a
+directory on the Java classpath. The service expects to find a couple of
+configuration files conventionally called ``clouseau.ini`` and
+``log4j.properties`` with the following content:
+
+**clouseau.ini**::
+
+    [clouseau]
+
+    ; the name of the Erlang node created by the service, leave this unchanged
+    name=clouseau@127.0.0.1
+
+    ; set this to the same distributed Erlang cookie used by the CouchDB nodes
+    cookie=monster
+
+    ; the path where you would like to store the search index files
+    dir=/path/to/index/storage
+
+    ; the number of search indexes that can be open simultaneously
+    max_indexes_open=500
+
+**log4j.properties**::
+
+    log4j.rootLogger=debug, CONSOLE
+    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+    log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %c [%p] %m%n
+
+Once these files are in place the service can be started with an invocation like
+the following::
+
+    java -server \
+         -Xmx2G \
+         -Dsun.net.inetaddr.ttl=30 \
+         -Dsun.net.inetaddr.negative.ttl=30 \
+         -Dlog4j.configuration=file:/path/to/log4j.properties \
+         -XX:OnOutOfMemoryError=\"kill -9 %p\" \
+         -XX:+UseConcMarkSweepGC \
+         -XX:+CMSParallelRemarkEnabled \
+         com.cloudant.clouseau.Main \
+         /path/to/clouseau.ini
+
+Chef
+====
+
+The CouchDB `cookbook`_ can build the search plugin from source and install it
+on a server alongside CouchDB.
+
+Kubernetes
+==========
+
+Users running CouchDB on Kubernetes via the `Helm chart`_ can add the search
+service to each CouchDB Pod by setting ``enableSearch: true`` in the chart
+values.
+
+Additional Details
+==================
+
+The :ref:`Search User Guide <ddoc/search>` provides detailed information on
+creating and querying full-text indexes using this plugin.
+
+The source code for the plugin and additional configuration documentation is
+available on GitHub at https://github.com/cloudant-labs/clouseau.
+
+.. _GitHub: https://github.com/cloudant-labs/clouseau/releases
+.. _cookbook: https://supermarket.chef.io/cookbooks/couchdb
+.. _Helm chart: https://github.com/apache/couchdb-helm