思考狮身人面像和负标识(Thinking Sphinx and negative IDs)

2019-10-20 08:59发布

我有一个User模型和Message模型,用户可以将消息发送给对方,我用思考狮身人面像宝石的全文搜索作为连接器狮身人面像搜索在Ruby on Rails的。

在我的User模式,我使用系统的用户负的ID,对普通用户积极的ID。

现在我有一个狮身人面像,似乎忽略/在信息搜索与那些消极的ID(=外键的用户问题sender_id作为has -Attribute)。

指数definded在我的Message模型:

define_index 'messages_index' do
  indexes title, :sortable => true
  indexes body

  has sender_id, recipient_id, created_at, updated_at
end

搜索是在做MessagesController

@received_messages = current_user.received_messages.search params[:q]

如果current_user具有负ID返回任何结果。 当我做了reindex它表明,狮身人面像所有收集到的所有信息,没有被排斥在外。

有没有什么办法,教狮身人面像接受负数has -attributes? 或任何变通的想法?

Answer 1:

狮身人面像的整数类型是无符号的,因此不会收集你的负值。

你可以强制类型为浮点型,但不要忘了在这些属性的任何过滤器彩车,以及:

has sender_id, recipient_id, :type => :float
has created_at, updated_at


文章来源: Thinking Sphinx and negative IDs