Руководство по созданию базовой функции поиска в Rails3 - PullRequest
0 голосов
/ 13 декабря 2011

Все еще довольно плохо знаком с Rails и надеется разработать на сайте функцию, позволяющую выполнить поиск, как описано ниже:

Пользователь вводит поисковый термин / фразу (строка слов, но вряд ли будет больше 5 или 6)

Строка нарезана на составляющие слова

Выводятся записи в одной модели с описанием (одно поле в модели)

Изучив предыдущие вопросы на этом сайте, я узнал, что существует ряд надстроек, которые обычно используются для поисковых запросов, однако нужны ли они в такой простой ситуации?

Я думал, что мог бы использовать команду SQL с несколькими AND для выполнения этой задачи? В настоящее время модель хранится в sqlite3, но, вероятно, в ближайшем будущем она вырастет примерно до 100 000 строк (всего лишь 10 полей), если это может вызвать проблемы?

Наконец, есть ли простой способ автоматически извлекать слова из строки для любой длины строки / до определенного предела, который вряд ли будет превышен?

Заранее спасибо за ваше время и терпение

1 Ответ

1 голос
/ 13 декабря 2011

Вы можете легко извлечь слова из строки с помощью ruby: 'alice bob charlie'.split(/\s+/) даст вам массив со словами.

Затем вы можете связать эти слова в SQL-запрос, чтобы найти соответствующие записи. Он не знает о производительности этого решения, хотя ... Вы должны обязательно проверить его, чтобы увидеть, есть ли какие-либо проблемы с производительностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...