微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 sphinxsearch Docker 容器中运行索引器?

如何解决如何在 sphinxsearch Docker 容器中运行索引器?

我正在使用 macbre/sphinxsearch/ 泊坞窗图像。 我为卷创建了目录,并使用命令运行容器:

podman run --name sphinxsearch -p 36307:36307 -v ~/podman/volumes/sphinxsearch/:/opt/sphinx/index:z -v ./sphinx.conf:/opt/sphinx/conf/sphinx.conf:z --rm macbre/sphinxsearch

我得到一个错误,因为索引不是由 indexer 创建的:

WARNING: index 'test1': prealloc: Failed to open /opt/sphinx/index/test1.sph: No such file or directory; NOT SERVING
FATAL: no valid indexes to serve

在这种情况下我应该如何运行索引器?

解决方法

在运行 searchd 守护进程之前,您首先需要构建索引。为此,通过容器运行第一个索引器作业:

podman run -v $VOLPATH/sphinxsearch/index/:/opt/sphinx/index:z \
-v $VOLPATH/sphinxsearch/sphinx.conf:/opt/sphinx/conf/sphinx.conf:z \
--rm macbre/sphinxsearch indexer --all --config /opt/sphinx/conf/sphinx.conf

稍后,当容器已经开始工作时,您可以使用以下命令刷新索引:

podman exec -it sphinxsearch indexer --rotate --all --config /opt/sphinx/conf/sphinx.conf

我还在帖子中记录了整个过程: Running SphinxSearch in Podman container

感谢@Manticore-Search 和@macbre 指明方向。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。