2013-04-26 3 views
1

У меня есть две проблемы. Я использую rails 3.2 и think-sphinx, а также мое приложение translateable.Я использую I18n для этой цели. Знаете, у меня есть пользователи таблицы. У них есть профессии, и занятия переводятся. Я определяю индекс следующим образом.рельсы I18n мышление-sphinx как определить индекс

define_index do 
    indexes occupation, 
    indexes name, 
    ..... 
    ...... 
    has is_active  
    set_property :enable_star => 1 
    set_property :min_infix_len => 3 
end 

Теперь я не уверен, о том, как индексировать переводы occupations.Secondly я хочу priotise свой поиск так, что она дает более высокий приоритет, чем оккупации имени. Спасибо вам заранее.

ответ

1

Вы можете указать перевод с translations.field_name. В вашем случае вам нужно сделать translations.occupation, чтобы добавить его в индекс поиска. Для второй необходимости вам нужно установить вес полей. Следуйте за изменённым кодом:

define_index do 
    indexes translations.occupation, :as => :occupation 
    indexes name, :as => :name 
    ..... 
    ...... 
    has is_active  
    set_property :enable_star => 1 
    set_property :min_infix_len => 3 
    set_property :field_weights => { 
    :occupation => 2, 
    :name => 1,   
} 
end 
+0

ОК отлично работает! –

Смежные вопросы