Sphinx 无法在 Heroku 上重建索引
Sphinx fails to reindex on Heroku
我有一个 Rails 应用程序,使用以下内容:
狮身人面像 2.2.11-id64-release (95ae9a6)
思考狮身人面像 4.4.1
飞天狮身人面像 1.2.0
目前我能够成功地重新索引(rake ts:rebuild)开发。当我这样做时,我看到它生成 development.sphinx.conf。当我将它推到 heroku 上时,我 运行 相同的命令并得到:
I, [2021-05-26T22:25:17.260156 #4] INFO -- : [RailsAutoscale] Preparing middleware
D, [2021-05-26T22:25:17.404021 #4] DEBUG -- : (1.5ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
searchd is not currently running.
D, [2021-05-26T22:25:17.988676 #4] DEBUG -- : (2.5ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
Generating configuration to /app/config/staging.sphinx.conf
Generating configuration to /app/config/staging.sphinx.conf
sh: 1: indexer: not found
The Sphinx indexing command failed:
Command: indexer --config "/app/config/staging.sphinx.conf" --all
Status: 127
Output: See above
There may be more information about the failure in /app/log/staging.searchd.log.
我找了日志,但是没找到。我所知道的是没有生成暂存配置文件。如果有人有任何线索指向我解决这个问题,我将永远感激不已。
我认为您使用的 gem 可能比文档预期的要旧。对于 flying-sphinx v1.x,您需要使用 flying-sphinx
可执行文件而不是 ts:
前缀的 rake 任务:heroku run bundle exec flying-sphinx rebuild
.
如果您升级到 flying-sphinx v2.x,那么您将能够在 Heroku 和本地使用 ts rake 任务。 (是的,从一开始这就是理想的行为,但迟到总比不到好!)
我有一个 Rails 应用程序,使用以下内容: 狮身人面像 2.2.11-id64-release (95ae9a6) 思考狮身人面像 4.4.1 飞天狮身人面像 1.2.0
目前我能够成功地重新索引(rake ts:rebuild)开发。当我这样做时,我看到它生成 development.sphinx.conf。当我将它推到 heroku 上时,我 运行 相同的命令并得到:
I, [2021-05-26T22:25:17.260156 #4] INFO -- : [RailsAutoscale] Preparing middleware
D, [2021-05-26T22:25:17.404021 #4] DEBUG -- : (1.5ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
searchd is not currently running.
D, [2021-05-26T22:25:17.988676 #4] DEBUG -- : (2.5ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
Generating configuration to /app/config/staging.sphinx.conf
Generating configuration to /app/config/staging.sphinx.conf
sh: 1: indexer: not found
The Sphinx indexing command failed:
Command: indexer --config "/app/config/staging.sphinx.conf" --all
Status: 127
Output: See above
There may be more information about the failure in /app/log/staging.searchd.log.
我找了日志,但是没找到。我所知道的是没有生成暂存配置文件。如果有人有任何线索指向我解决这个问题,我将永远感激不已。
我认为您使用的 gem 可能比文档预期的要旧。对于 flying-sphinx v1.x,您需要使用 flying-sphinx
可执行文件而不是 ts:
前缀的 rake 任务:heroku run bundle exec flying-sphinx rebuild
.
如果您升级到 flying-sphinx v2.x,那么您将能够在 Heroku 和本地使用 ts rake 任务。 (是的,从一开始这就是理想的行为,但迟到总比不到好!)