# 1.9. Nouveau Server Installation

Added in version 3.4.0.

CouchDB can build and query full-text search indexes using an external Java service that embeds Apache Lucene. Typically, this service is installed on the same host as CouchDB and communicates with it over the loopback network.

Nouveau server is runtime-compatible with Java 11 or higher.

## 1.9.1. Enable Nouveau

You need to enable nouveau in CouchDB configuration;

>     [nouveau]
>     enable = true

## 1.9.2. Installation of Binary Packages

The nouveau server code is contained in a single `jar` file that ships with a compatible CouchDB release, named `server-$version-dist.jar`

To start the nouveau server:

    java -jar /path/to/server-$version-dist.jar server /path/to/nouveau.yaml

We ship a basic `nouveau.yaml` configuration with useful defaults; that file for details.

nouveau.yaml:

    maxIndexesOpen: 100
    commitIntervalSeconds: 30
    idleSeconds: 60
    rootDir: target/indexes

As a DropWizard project you can also use the many configuration options that it supports. See configuration reference.

By default Nouveau will attempt a clean shutdown if sent a `TERM` signal, committing any outstanding index updates, completing any in-progress segment merges, and finally closes all indexes. This is not essential and you may safely kill the JVM without letting it do this, though any uncommitted changes are necessarily lost. Once the JVM is started again this indexing work will be attempted again.