【问题标题】:Ruby on Rails - Thinking Sphinx Problem [duplicate]Ruby on Rails - 思考狮身人面像问题 [重复]
【发布时间】:2011-08-17 16:43:42
【问题描述】:

可能重复:
Problem running Thinking Sphinx with Rails 2.3.5

我正在运行 rails 2.3.5 每次我运行 rake ts:start 或 ts.rebuild rake 文件时,都会使用以下内容:

Sphinx cannot be found on your system. You may need to configure the following
settings in your config/sphinx.yml file:
  * bin_path
  * searchd_binary_name
  * indexer_binary_name

rake aborted!
key not found

我正在运行 Sphinx,并且配置中的 sphinx.yml 是正确的:(我相信)

bin_path: /usr/bin/searchd
  searchd_binary_name: searchd
  indexer_binary_name: sphinx-indexer

Sphinx 似乎正在运行,就像它运行时一样(通过运行命令:service searchd start)

当我浏览到使用搜索的页面时出现的错误是:

ThinkingSphinx::SphinxError in Jobs#index
 Showing app/views/jobs/index.html.erb where line #30 raised:
 unknown local index 'job_core' in search request

而不是连接错误? 这里可能有很多问题,但我被卡住了。 或者,我可以重写我正在修改的代码以使用不同的搜索功能,如果是这样,什么是最好的?

【问题讨论】:

    标签: ruby thinking-sphinx


    【解决方案1】:

    bin_path 不应包含实际的二进制名称(因为您使用 searchd_binary_nameindexer_binary_name 设置它们) - 所以请尝试使用 /usr/bin

    【讨论】:

    • 试过了,但没有成功。不知道设置有什么问题,但我很不情愿地在我的 mysql 语句中使用 %like% 条件的条件。
    • Tom,如果您想再试一次 - 您在启动守护程序之前已经为您的数据建立了索引,是吗? rake ts:index
    【解决方案2】:

    将您的 sphinx.yml 配置与我的配置进行比较,看起来我的 bin_path、search_binary_name 和 index_binary_name 的值表示为字符串,但这似乎并不重要。然而,我的索引器二进制文件是 indexer 而不是 sphinx-indexer

    development:
        min_infix_len: 3
        config_file: "./config/development.sphinx.conf"
        searchd_log_file: "./log/searchd.log"
        query_log_file: "./log/searchd.query.log"
        pid_file: "./log/searchd.development.pid"
        bin_path: "/usr/local/bin"
        searchd_binary_name: "searchd"
        indexer_binary_name: "indexer" 
    

    所以也许值得检查一下你是否指定了正确的二进制名称。这是 Pat 所说的在 bin_path 中不包括搜索二进制名称的补充。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多