我真的需要帮助安装狮身人面像,并得到它。如何配置PostgreSQL或MySQL以使用Sphinx设置数据库?
我在轨道3上,我遵循以下这组方向:http://freelancing-god.github.com/ts/en/quickstart.html来安装Sphinx。
思维狮身人面像很容易安装,因为它是一个宝石。然而,指南说,我需要安装狮身人面像和安装思考狮身人面像(这是真的吗?)。我检查了思维狮身人面像的Ryan Bates的railscast,他只安装了插件并立即开始。
不管怎么说,我通过安装MacPorts的狮身人面像和这里的证明:
...
---> Configuring mysql5
---> Building mysql5
---> Staging mysql5 into destroot
---> Installing mysql5 @5.1.57_0
The MySQL client has been installed.
...
---> Installing sphinx @0.9.9_0+mysql5
---> Activating sphinx @0.9.9_0+mysql5
---> Cleaning sphinx
它自动MYSQL5配置的狮身人面像。我有mySQL和POSTgreSQL。
现在,下一步是rake thinking_sphinx:index
建立在我的用户模型中的指标,看起来像这样经过:
define_index do
indexes year
indexes major
indexes books_buy
indexes books_sell
indexes facebook
indexes restaurants
indexes interests
end
然而,rake thinking_sphinx:index
给了我这个:
rake aborted!
Don't know how to build task 'thinking_sphnix:index'
然后
rake aborted!
no such file to load -- sqlite3
所以我想我的数据库是在sqlite3上配置的依然。所以我换宝石到MySQL和编辑我的database.yml文件看起来像这样:
# Switched over to mysql
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
development:
adapter: mysql5
encoding: utf8
database: sphinx_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
test:
adapter: mysql5
encoding: utf8
database: sphinx_test
pool: 5
username: root
password:
socket: /tmp/mysql.sock
production:
adapter: mysql5
encoding: utf8
database: sphinx_production
pool: 5
username: root
password:
socket: /tmp/mysql.sock
,我得到了这些错误:
rake aborted!
Please install the mysql5 adapter: `gem install activerecord-mysql5-adapter` (no such file to load -- active_record/connection_adapters/mysql5_adapter)
和
ERROR: Could not find a valid gem 'activerecord-mysql5-adapter' (>= 0) in any repository
ERROR: Possible alternatives: activerecord-jdbcmysql-adapter, activerecord-nulldb-adapter, activerecord-odbc-adapter, activerecord-jdbc-adapter, activerecord-postgis-adapter
Tony-Ngs-MacBook-Air:sample_app TonyNg$ gem install activerecord-nulldb-adapter
任何提示将慷慨和乐于助人。如果能提供帮助,也愿意切换到PostgreSQL。谢谢!
所以你决定忽略错误信息,告诉你该怎么做? “**请安装mysql5适配器**:'gem install activerecord-mysql5-adapter'” –
不,我试过了,得到:'错误:找不到有效的gem'activerecord-mysql5-adapter'(> 0)在任何存储库中 错误:可能的替代方案:activerecord-jdbcmysql-adapter,activerecord-nulldb-adapter,activerecord-odbc-adapter,activerecord-jdbc-adapter,activerecord-postgis-adapter ' – Tony
首先,sphinx只支持mysql和postgresql,而不是sqlite3。另外,要验证您是否安装了狮身人面像,您是否已在搜索路径中“搜索”?这就是狮身人面像搜索守护进程。这听起来像你需要创建你的开发MySQL数据库,你需要通过mysql提示符来完成。 –