LINUX.ORG.RU

rails, sphinx и теги-синонимы

 , , синонимы


0

2

господа, скажите, а как их (синонимы) лучше обрабатывать?
есть записи, к ним через acts_as_taggable_on прикручены теги
нужно найти для определённой записи записи с похожими тегами, не забывая про синонимы
очень бы хотелось сделать что-то вроде Situation.search :conditions => { :tag_name => '(synonym11 | synonym12) | (synonym21 | synonym22)' }
но так, чтобы это было рассортировано по релевантности

Deleted

Не знаю на счет рельсов, но sphinx поддерживает поиск синонимов.
в описание индекса добавляешь -
synonyms = path/synonyms.txt

synonyms.txt - формат вроде - кошка | кот | котяра
но точно не помню. Почитай доки.

pi11 ★★★★★
()
Ответ на: комментарий от pi11

да, но есть такая проблема: кроме поиска по тегам должен быть и просто полнотекстовый, и их базы должны быть разными

Deleted
()
Ответ на: комментарий от pi11

о, прекрасно, спасибо!
гуглить-то я гуглил, только как-то не заметил

Deleted
()

1. в модельке вместо одного define_index написать
define_index :main_index do
...
# attributes
has user_id, created_at, updated_at
end

define_index :tag_index do
...
# attributes
has user_id, created_at, updated_at

set_property :wordforms => '/path/to/synonyms.txt'
end
2. в synonyms.txt
two > one
3. ну а потом
Situation.search :index => 'tag_index', :conditions => { :tag_name => 'two' }, :match_mode => :any
и
Situation.search :index => 'tag_index', :conditions => { :tag_name => 'one' }, :match_mode => :any

выдают одно и то же

эта, где lorcode?

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.