1.8. 搜索插件安装

3.0 新版功能.

CouchDB可以使用嵌入 Apache Lucene . 通常,此服务与CouchDB安装在同一主机上,并通过环回网络与其通信。

该搜索插件与Java JDK 6、7和8在运行时兼容,从源代码构建发行版需要JDK 6。 它不能与任何更新版本的Java一起工作。 真对不起。

1.8.1. 二进制软件包的安装

捆绑了搜索插件的所有必要依赖项的二进制包在上可用 GitHub . 每个版本中的文件都应该解压到Java类路径上的一个目录中。如果尚未设置类路径,或者希望显式设置Clouseau的类路径位置,请添加以下行:

-classpath '/path/to/clouseau/*'

到下面的服务器命令。如果clouseau安装在 /opt/clouseau 这句话应该是:

-classpath '/opt/clouseau/*'

服务期望找到两个按惯例调用的配置文件 clouseau.inilog4j.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

一旦这些文件就位,就可以通过如下调用启动服务:

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

1.8.2. 厨师

CouchDB公司 cookbook 可以从源代码构建搜索插件,并将其安装在CouchDB旁边的服务器上。

1.8.3. 库伯内特斯

在Kubernetes上运行CouchDB的用户 Helm chart 可以通过设置将搜索服务添加到每个CouchDB Pod enableSearch: true 在图表值中。

1.8.4. 其他详细信息

这个 Search User Guide 提供有关使用此插件创建和查询全文索引的详细信息。

插件的源代码和其他配置文档可以在GitHub上找到,网址是https://github.com/cloudant-labs/clouseau。