Я пытаюсь создать простую область, которую sphinx будет индексировать (Ruby on Rails).Обычная область возвращает то, что должна, область сфинкса не возвращает результатов.
define_index do
# fields
indexes :name
indexes author
indexes description
indexes list_of_tags
indexes approved
# attributes
has created_at, updated_at, downloads
# delta indexing
set_property :delta => true
# weighting fields
set_property :field_weights => {
:name => 10,
list_of_tags => 6,
author => 5,
description => 4,
}
end
нормальная область:
scope :approved, where(:approved => true)
область сфинкса:
sphinx_scope(:approval_scope) {
{:conditions => {:approved => "true"}}
}
Approved является логическим полем, однако, поскольку я индексирую его как поле, я считаю, что его значение рассматривается как String.Независимо от того, что значение области сфинкса равно «true» или «true», разницы нет - Theme.approval_score по-прежнему возвращает 0 результатов в отличие от Theme.approval.Надеюсь, мне не хватает чего-то простого ..