思考Sphinx错误 - ResponseError(searchd错误(状态:1):索引lead_delta:找不到属性'user_id'):

时间:2011-09-19 13:32:48

标签: ruby-on-rails thinking-sphinx

我在更新潜在客户模型数据时遇到以下错误:

Riddle :: ResponseError(searchd error(status:1):index lead_delta:找不到属性'user_id'): app / controllers / leads_controller.rb:88:在`block in update'

在我更改模型中的搜索索引,添加属性user_id之前,一切正常。重建sphinx索引后搜索工作正常,但在更新Lead时显示错误500和上述消息。

在Lead模型中,我有以下搜索索引和属性:

indexes client_name
indexes company
indexes product.name, :as => :lead_product 
indexes account_id
indexes email
indexes office_phone
indexes mobile_phone

has product_id, account_id, user_id

where "lead_converted = 0"

set_property :delta => :delayed

控制器潜在客户

def update

@lead = Lead.find params [:id]   respond_to do | format |

第88行:if @ lead.update_attributes params [:lead]

我有以下宝石版本:

'思考-sphinx','2.0.3'

谜语(1.3.3)

1 个答案:

答案 0 :(得分:0)

您是否正在运行ts:rebuild rake任务?还是ts:index?前者是必要的,因为它看起来像Sphinx守护进程不知道你的新属性(重建停止Sphinx,重新索引,然后再次启动Sphinx)。