На самом ли деле Sphinx и Think_sphinx стабильны? Столбцы не индексируются

Я столкнулся со странным поведением Think_sphinx / sphinx.

Мой блок define_index составляет около 100 строк, поэтому я индексирую довольно много столбцов. Для полнотекстового поиска мне нужно всего около 10 атрибутов, для сортировки и фильтрации у меня есть еще около 50 столбцов, в основном с плавающей точкой и целыми числами.

Под фильтрацией я подразумеваю использование опций «с» или «без».

Поиск действительно не работает стабильно. Внезапно один атрибут не может быть отфильтрован. Или если я добавлю новый, не получится. Только после долгих переделок он вдруг начинает работать. Я не могу это воспроизвести. Шаги I, которые иногда приводят меня к успеху, где:

  • rm -rf db / sphinx
  • изменить определение атрибута, например has some_attribute => has some_attribute,: sortable => true или => has some_attribute,: sortable => true,: as => "some_attribute"
  • перезапуск сервера
  • присвоение нового: as name => имеет some_attribute,: as => "some_attribute_new"

(да, я делал ts: rebuild или rake ts: in после каждого шага)

Кто-нибудь еще сталкивался с подобными проблемами?


person seb    schedule 16.07.2009    source источник


Ответы (1)


Это звучит немного странно, хотя я не слышал, чтобы у кого-то было такое большое количество полей и / или атрибутов.

Когда вы говорите, что в основном числа с плавающей запятой и целые числа, каковы остальные? В частности, есть ли строковые атрибуты, которые вы пытаетесь отфильтровать? Потому что Sphinx пока этого не умеет (предлагается для версии 0.9.10).

Кроме того, вам не нужно :sortable => true для атрибутов - все атрибуты можно сортировать.

Кроме того, боюсь, я не очень понимаю, что делать дальше. Если бы вы могли как-то надежно воспроизвести проблему (особенно в индексе с небольшим количеством полей и индексов), это было бы фантастически.

person pat    schedule 17.07.2009
comment
Я просто мог воспроизвести ошибку при перемещении неработающих атрибутов в начало define_index - person seb; 17.07.2009
comment
Теперь я снова переместил эти атрибуты вниз. И это чудесным образом снова работает. - person seb; 17.07.2009
comment
У вас нет в индексе атрибутов или полей с тем же именем, не так ли? И просто для подтверждения, вы пытаетесь фильтровать целые числа и / или числа с плавающей запятой? - person pat; 17.07.2009