Я хочу сделать таблицу ключевых слов, в которой хранятся слова в строке (из фразы с пробелами), и если пользователь вводит фразу, он добавляет ссылку на ключевое слово id в таблицу фраз.Моделирование ключевых слов и фраз в Rails
Я думаю, что таблицы должны выглядеть следующим образом:
Ключевое слово:
ID | Word
-----------
1, a
2, keyword
3, phrase
Домен:
ID | Name
-----------
1, findme.org
Фраза:
Phrase_ID | Keyword_ID | Domain_ID | Word_Weight
-----------
1, 1, 1, 0
1, 2, 1, 1
1, 3, 1, 2
Есть ли способ, что я может сделать это в rai Возможно, с отношением has_many, чтобы я мог получить фразу, передав @ domain.phrases, возвращая список всех фраз с тем же именем Domain_ID, и @ keyword.phrases перечисляет все фразы, содержащие ключевое слово с Keyword_ID
Моя цель состоит в том, чтобы избежать дублирования строк в любой из таблиц, является ли это запутанным? Не могли бы вы предложить лучший дизайн, который является способом рельсов?
Каковы плюсы и минусы использования act_as_taggable_on над простыми, имеет много связей, как показано elhu? На второй ноте. Было бы неплохо, если бы был камень, который мог бы взять в качестве входного URL-адрес, а затем просканировать этот URL-адрес и разобрать его на ключевые слова для предложений в моем приложении. Знаете ли вы о каких-либо драгоценных камнях или API-интерфейсах, которые позволяют вам это делать? Пока я нашел https://github.com/apneadiving/SemExtractor#readme, он использует текстовые сообщения для получения текста с сайтов, но их лицензия не позволяет вам интегрироваться с веб-поиском/пауком. – Arosboro
Я просто указывал на сходство того, что вы просили концепцию тегов, в случае, если вы действительно хотели, были теги или функциональный эквивалент. Проу не нужно будет реализовывать (и поддерживать его) самостоятельно, а вместо этого использовать работу других. – jefflunt