我为一个postgres项目安装了几个月的sphinx,现在我有一个使用mysql的项目。我试着用这条线在我environments.rb来解决这个问题:我是否需要为mysql重新安装思维狮身人面像,如果它以前安装了postgres?
ThinkingSphinx.database_adapter = :mysql
,我甚至产生了这个项目development.sphinx.conf:
source article_core_0
{
type = mysql
sql_host = localhost
sql_user = ***
sql_pass = ***
sql_db = ***_development
sql_sock = /tmp/mysql.sock
sql_query_pre = UPDATE `articles` SET `delta` = 0 WHERE `delta` = 1
sql_query_pre = SET NAMES utf8
sql_query_pre = SET TIME_ZONE = '+0:00'
sql_query = SELECT SQL_NO_CACHE `articles`.`id` * 6 + 0 AS `id` , `articles`.`title` AS `title`, `articles`.`content` AS `content`, GROUP_CONCAT(DISTINCT IFNULL(`tags`.`tag`, '0') SEPARATOR ' ') AS `tag`, GROUP_CONCAT(DISTINCT IFNULL(`customer_categories`.`name`, '0') SEPARATOR ' ') AS `category`, CONCAT_WS(' ', `users`.`first_name`, `users`.`last_name`) AS `created_by_user_name`, `articles`.`id` AS `sphinx_internal_id`, 3448190970 AS `class_crc`, 0 AS `sphinx_deleted`, `articles`.`account_id` AS `account_id`, `articles`.`internal_only` AS `internal_only`, UNIX_TIMESTAMP(`articles`.`created_at`) AS `created_at`, UNIX_TIMESTAMP(`articles`.`updated_at`) AS `updated_at`, `articles`.`views` AS `views` FROM `articles` LEFT OUTER JOIN `articles_tags` ON `articles_tags`.`article_id` = `articles`.`id` LEFT OUTER JOIN `tags` ON `tags`.`id` = `articles_tags`.`tag_id` LEFT OUTER JOIN `articles_categories` ON `articles_categories`.`article_id` = `articles`.`id` LEFT OUTER JOIN `customer_categories` ON `customer_categories`.`id` = `articles_categories`.`customer_category_id` LEFT OUTER JOIN `users` ON `users`.`id` = `articles`.`created_by_id` WHERE (`articles`.`id` >= $start AND `articles`.`id` <= $end AND `articles`.`delta` = 0) GROUP BY `articles`.`id`, `articles`.`title`, `articles`.`content`, `users`.`first_name`, `users`.`last_name`, `articles`.`id`, `articles`.`account_id`, `articles`.`internal_only`, `articles`.`created_at`, `articles`.`updated_at`, `articles`.`views` ORDER BY NULL
sql_query_range = SELECT IFNULL(MIN(`id`), 1), IFNULL(MAX(`id`), 1) FROM `articles` WHERE `articles`.`delta` = 0
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = account_id
sql_attr_uint = views
sql_attr_bool = internal_only
sql_attr_timestamp = created_at
sql_attr_timestamp = updated_at
sql_query_info = SELECT * FROM `articles` WHERE `id` = (($id - 0)/6)
}
问题是我不断收到此错误:
Sphinx 0.9.9-rc2 (r1785)
Copyright (c) 2001-2009, Andrew Aksyonoff
using config file '/Users/eumir/rails_apps/hivemind/config/development.sphinx.conf'...
indexing index 'article_core'...
ERROR: source 'article_core_0': unknown type 'mysql'; skipping.
ERROR: index 'article_core': failed to configure some of the sources, will not index.
indexing index 'article_delta'...
ERROR: source 'article_delta_0': unknown type 'mysql'; skipping.
ERROR: index 'article_delta': failed to configure some of the sources, will not index.
distributed index 'article' can not be directly indexed; skipping.
indexing index 'contact_core'...
ERROR: source 'contact_core_0': unknown type 'mysql'; skipping.
对此有何帮助?
您正在运行哪个版本的狮身人面像?你有没有检查过searchd配置? – ajreal 2010-12-20 10:08:05
我正在运行Sphinx 0.9.9-rc2(r1785)版权所有(c)2001-2009,安德鲁Aksyonoff我也检查我的配置,它显示postrges。我改变了这一切,但无济于事 – corroded 2010-12-20 10:35:53