【发布时间】:2017-08-29 05:36:47
【问题描述】:
我想为表中的少数字段设置中缀索引,并为表中的其他一些字段设置前缀索引。有没有办法在狮身人面像中做到这一点?
我正在使用 dict=keywords 在 Sphinx 中寻找选项 infix_fields & prefix_fields
【问题讨论】:
标签: ruby-on-rails-3 sphinx thinking-sphinx
我想为表中的少数字段设置中缀索引,并为表中的其他一些字段设置前缀索引。有没有办法在狮身人面像中做到这一点?
我正在使用 dict=keywords 在 Sphinx 中寻找选项 infix_fields & prefix_fields
【问题讨论】:
标签: ruby-on-rails-3 sphinx thinking-sphinx
为此,您可以在索引定义中为每个字段设置它:
indexes name, :infixes => true
indexes location, :prefixes => true
dict 设置只能针对每个索引进行设置,因此如果您希望将其用于特定索引,请将其添加到这些索引定义中:
set_property :dict => ‘keywords’
或者对于所有索引,将其添加到 config/thinking_sphinx.yml 文件中的每个环境中:
development:
dict: keywords
test:
dict: keywords
production:
dict: keywords
虽然在某些时候,我相信关键字将是(如果还没有的话)Sphinx 的默认字典设置。
【讨论】:
ThinkingSphinx::Index.define(:incident, DEFAULT_INDEX_OPTIONS.merge(name: "incident_#{i}"), &Searchable.beetilable_index('Incident', index_count: incident_index_count, index_id: i) {
indexes name
set_property :min_prefix_len => 3
})
#
# infix index (only for the title, symptom columns)
#
ThinkingSphinx::Index.define(:incident, DEFAULT_INDEX_OPTIONS.merge(name: "incident_#{i + incident_index_count + 1}"), &Searchable.beetilable_infix_index('Incident', index_count: incident_index_count, index_id: i) {
indexes location
set_property :min_infix_len => 3
})
end
【讨论】: