Railsでタグの同義語を処理する適切な方法は何ですか?モデルはSituationと呼ばれ、タグにはacts_as_taggable_onを使用し、検索にはThinkingSphinxを使用します。
Situation.search :conditions => { :tag_name => '(synonym11 | synonym12) | (synonym21 | synonym22)' }, :match_mode => :boolean
しかし、適切なランキングで
Railsでタグの同義語を処理する適切な方法は何ですか?モデルはSituationと呼ばれ、タグにはacts_as_taggable_onを使用し、検索にはThinkingSphinxを使用します。
Situation.search :conditions => { :tag_name => '(synonym11 | synonym12) | (synonym21 | synonym22)' }, :match_mode => :boolean
しかし、適切なランキングで
そのような何かが役立ちます
define_index :main_index do
# fields
indexes :title
indexes :description
indexes user.name, :as => :author
# attributes
has id, user_id, created_at, updated_at
end
define_index :tag_index do
# fields
indexes taggings.tag.name, :as => :tag_name
# attributes
has id, user_id, created_at, updated_at
set_property :wordforms => 'db/synonyms.txt'
end