jipipayo / sphinx-config-builder
一个用于动态构建 sphinx 搜索配置文件的 PHP 类。
Requires
- php: >=5.3.0
Suggests
- neutron/sphinxsearch-api: Allows to use sphinx via official (by Andrew Aksyonoff) php Sphinx api
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