Sphinx doirasi hech narsaga qaytmaydi

Men sspxning indekslarini (Ruby on Rails) indeksini aniqlashtirishga harakat qilaman. Oddiy tortib olsa, nima qilish kerakligini qaytaradi, sfenks doirasi hech qanday natija bermaydi.

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,
  }

oxiri

oddiy tortib olsa:

scope :approved, where(:approved => true)

sfenks doirasi:

sphinx_scope(:approval_scope) {
  {:conditions => {:approved => "true"}}
}

Biroq, tasdiqlash bu boolean maydondir, lekin men uni maydon sifatida indekslaganim uchun uning qiymati String sifatida baholanadi. Nima bo'lishidan qat'iy nazar, sfenks doirasining qiymatini "to'g'ri" yoki haqiqiy deb hisoblash - hech qanday farq qilmaydi - Theme.approval_score Mavzuni ma'qullamasdan 0 natijani qaytaradi. Umid qilamanki, oddiy narsa yo'q.

0

1 javoblar

tasdiqlashni amalga oshiradi

define_index do
  # fields
  ...
  has approved
  ...
end

keyin

sphinx_scope(:approval_scope) {
  {:with => {:approved => true}}
}
4
qo'shib qo'ydi
Men sizdan foydalanishingiz kerakligiga ishonchim komil
qo'shib qo'ydi muallif anxiety, manba
Deyarli: sizning sfenksingiz bo'yicha : confirmed => true dan foydalaning. Lekin, ha, siz, albatta, bir maydon emas, balki, bir sifat bo'lishni ma'qul istaysizmi.
qo'shib qo'ydi muallif pat, manba