【问题标题】:How to run indexer in sphinxsearch Docker container?如何在 sphinxsearch Docker 容器中运行索引器?
【发布时间】:2021-02-13 14:55:59
【问题描述】:

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

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

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

【问题讨论】:

  • 不确定这个 docker 镜像,但如果你遇到与 Manticore(Sphinx 的分支)类似的问题,它有一个官方的 docker 镜像 - 请告诉我。这是如何在 docker 中使用 Manticore 的说明 - mnt.cr/docker
  • 感谢您的帮助。我想我需要尝试一下 Manitcore Search,因为它提供了流行的 HTTP JSON 协议。

标签: docker search sphinx indexer


【解决方案1】:

在运行 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 指明方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多