1

我有两个问题。我正在使用 rails 3.2 和 thinking-sphinx,而且我的应用程序是可翻译的。我为此目的使用 I18n。所以你知道我有一个表 users。他们有职业,职业是可翻译的。我正在定义索引如下。

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

现在我不确定如何索引职业的翻译。其次,我想优先搜索我的搜索,以便它比名称更优先考虑职业。提前谢谢你。

4

1 回答 1

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
于 2013-04-26T17:20:39.537 回答