jipipayo/sphinx-config-builder

一个用于动态构建 sphinx 搜索配置文件的 PHP 类。

dev-master 2015-02-02 17:38 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:39:27 UTC


README

一个用于从 PHP 动态构建 sphinx 搜索配置文件的 PHP 类。

为什么需要这个类?

Sphinx 搜索(http://sphinxsearch.com/)通常与由 searchd 和 indexer 使用的简单纯文本配置文件配合得很好。但在大型项目中,有时需要处理这个开始变大的文件,并在不同的机器或环境中运行。最终,你复制了这个文件,失去了对这个文件真实状态的掌控。

阅读了这条推特,给了我传递配置文件的灵感: https://twitter.com/pda/status/7368710004154368

使用 SphinxConfiguratorBuilder 可以动态创建 sphinx 配置:不同的数据库配置、开发环境或生产环境、自动化、添加到 CI 流、烟雾测试等...

安装

您可以使用 composer 安装: https://getcomposer.org.cn/ 简单地将以下行添加到您的 composer.json(必需部分)
    "jipipayo/sphinx-config-builder": "dev-master"

更新您项目中的 composer 模块

composer update

这将下载并安装此类,您就可以开始使用了。

如何使用它?

打开 config_sample.php 文件,您将看到一个示例用法,修改此文件并将其保存为 sphinx_config.php(或其他名称),将 SphinxConfiguratorBuilder 添加到您的项目路径。

不要忘记在 sphinx_config.php 文件中以与 config_sample.php 文件中所示相同的 shebang 开头

#!/usr/bin/env  php

现在只需运行

indexer --config /path/to/config_sample.php --all --rotate

或者

searchd --config /absolute/path/to/config_sample.php

如果您创建了一个像这样的符号链接

    ln -s /absolute/path/to/config_sample.php /usr/local/etc/sphinx.conf

现在您将能够使用 indexer 和 searchd 而不需要 --config 路径(sphinx 现在默认使用 /usr/local/etc/sphinx.conf)

    indexer  --all --rotate

受 Perl 中的这个 cpan 模块启发: https://metacpan.org/pod/Sphinx::Config::Builder