0

Thinking Sphinxは、私のRailsアプリの開発環境では夢のように機能します。しかし、Capistranoを介して本番環境にデプロイしようとすると、失敗します。入って手動でインデックスを作成しようとしましたが、最も奇妙なエラーが発生しました。

myuser@myhost:/domains/myappname.com/current$ bundle exec rake RAILS_ENV=production ts:index

Generating Configuration to /domains/myappname.com/releases/20130207221841/config/production.sphinx.conf
Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff

using config file '/domains/myappname.com/releases/20130207221841/config/production.sphinx.conf'...
ERROR: unknown key name 'sql_attr_string' in /domains/myappname.com/releases/20130207221841/config/production.sphinx.conf line 27 col 18.
FATAL: failed to parse config file '/domains/myappname.com/releases/20130207221841/config/production.sphinx.conf'

ファイルの関連部分を見ると、.conf特に奇妙なものは見当たりません。

source piece_core_0
{
  type = mysql
  sql_host = localhost
  sql_user = [user redacted]
  sql_pass = [pass redacted]
  sql_db = [db redacted]
  sql_query_pre = SET NAMES utf8
  sql_query_pre = SET TIME_ZONE = '+0:00'
  sql_query = SELECT SQL_NO_CACHE `posts`.`id` * CAST(2 AS SIGNED) + 0 AS `id` , `posts`.`title` AS `title`, `posts`.`body` AS `body`, `users`.`name` AS `author_name`, `post$
  sql_query_range = SELECT IFNULL(MIN(`id`), 1), IFNULL(MAX(`id`), 1) FROM `posts`
  sql_attr_uint = sphinx_internal_id
  sql_attr_uint = sphinx_deleted
  sql_attr_uint = class_crc
  sql_attr_string = sphinx_internal_class
  sql_query_info = SELECT * FROM `posts` WHERE `id` = (($id - 0) / 2)
}

説明はありますか?sql_attr_stringsphinxが、明らかにそれ自体の構成ファイルの通常の部分である何か()を理解できない可能性があることはわかりません。このエラーは実際のエラーでさえありますか、それとも他の何かが問題であることを示していますか?

4

1 に答える 1

1

Sphinx 0.9.9-release (r2117)を使用しているようです

sphinx のドキュメントによると、バージョン1.10-betasql_attr_stringでのみ導入されています。

この機能を利用するには、本番環境を確認し、新しいバージョンを入手してください。

于 2013-02-08T09:28:59.280 に答える