Ruby on rails 认为Sphinx min_Index_len和delta不在生产服务器上工作
我们的生产服务器上的TS最小拐点长度和增量索引存在问题 我在OSX上的开发模式下工作,但当我们通过capistrano部署到运行passenger/apache的Ubuntu服务器上时,delta索引和min_Index_len似乎都停止了 我们以ubuntu用户的身份部署,该用户也运行apache。我们昨天遇到了一个问题,生产文件夹并没有被创建,但我们手动创建了,我现在可以在那个里看到一个增量文件列表 我已经看完了文件 我可以在创建记录时看到delta标志设置为true,但在搜索时找不到记录。一旦我们重建索引(作为ubuntu用户),我就可以找到记录,但只能找到完整的字符串 我的sphinx.conf文件如下:Ruby on rails 认为Sphinx min_Index_len和delta不在生产服务器上工作,ruby-on-rails,thinking-sphinx,Ruby On Rails,Thinking Sphinx,我们的生产服务器上的TS最小拐点长度和增量索引存在问题 我在OSX上的开发模式下工作,但当我们通过capistrano部署到运行passenger/apache的Ubuntu服务器上时,delta索引和min_Index_len似乎都停止了 我们以ubuntu用户的身份部署,该用户也运行apache。我们昨天遇到了一个问题,生产文件夹并没有被创建,但我们手动创建了,我现在可以在那个里看到一个增量文件列表 我已经看完了文件 我可以在创建记录时看到delta标志设置为true,但在搜索时找不到记录。
production:
enable_star: 1
min_infix_len: 3
bin_path: "/usr/local/bin"
version: 2.0.5
mem_limit: 128M
searchd_log_file: "/var/log/searchd.log"
development:
min_infix_len: 3
bin_path: "/usr/local/bin"
version: 2.0.5
mem_limit: 128M
重建、启动和配置工作正常,我的production.conf文件包含以下内容:
index company_core
{
source = company_core_0
path = /var/www/html/ordering-main/releases/20110831095808/db/sphinx/production/company_core
charset_type = utf-8
min_infix_len = 1
enable_star = 1
}
我的production.rb env文件中也有以下内容:
ThinkingSphinx.deltas_enabled = true
ThinkingSphinx.updates_enabled = true
我的searchd.log文件只有以下内容:
[Wed Aug 31 09:40:04.437 2011] [ 5485] accepting connections
apache错误/访问日志中根本没有显示任何内容
--编辑---
不确定这是否是原因,但sphinx.yml中的版本值适用于sphinx的版本,而不是sphinx-因此,您可能需要运行
索引器来仔细检查该值(可能是0.9.9、1.10-beta或2.0.1-beta中的一个)
另外:在服务器上,在脚本/控制台制作
中,您是否可以共享以下内容的完整输出(对返回的值不感兴趣,因此我强制它为空字符串-否则它只会造成妨碍):
``
delta不在乘客用户的生产服务器上工作,在创建索引并将其写入db/sphinx/production文件夹时,您必须向乘客用户授予写入权限
或者可以在nginx/conf/nginx.conf中设置两行
passenger_user_switching off;
passenger_default_user root;
例如:
passenger_root /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.0;
passenger_ruby /usr/local/bin/ruby;
passenger_user_switching off;
passenger_default_user root;
嗨,珍妮-你能为你的公司模型添加define_索引块吗?当然,我已经更新了我的问题。谢谢你的回复。我已经更改了版本,稍后将重建。然而,运行该命令会抛出一个错误,我认为这是好的。在开发服务器路径中查找company_delta.tmp.spl的服务。如何更改?进一步调查后,我发现我当前文件夹中的/db/sphinx/只包含开发。不确定它为什么不在生产模式下创建文件夹..您如何运行TS rake任务?嗨,帕特。作为ubuntu用户(拥有web)。虽然min_Inflix还没有开始工作,但情况看起来好多了。我已经在我的开发服务器上创建了文件夹产品,但由于某种原因它没有上传。我在里面放了一个空白文件,现在它发送了…所以Delta在工作,而中缀不工作?您用来测试后者的查询是什么?我建议不要使用root作为默认用户-从安全角度看,这根本不是一个明智的举动。谢谢pat,但在写入我的db/sphinx/production文件夹时,它显示了nobody和nogroup。因此,没有任何索引正在更新。我将如何解决这个问题。默认情况下,Passenger将使用您的应用程序文件的所有者,并且该用户也应该调用TS rake任务。那么也许可以修复Rails应用程序文件的所有权?
passenger_user_switching off;
passenger_default_user root;
passenger_root /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.0;
passenger_ruby /usr/local/bin/ruby;
passenger_user_switching off;
passenger_default_user root;