полнотекстовый поиск MySQL в рельсах - PullRequest
6 голосов
/ 01 марта 2011

Я пытаюсь добавить простой полнотекстовый поиск mysql в небольшую таблицу <2000 записей. </p>

Пожалуйста, не говорите мне, чтобы установить Solr, или любые другие поисковые камни. Я пытался запустить их, и это, кажется, одна проблема за другой. Я доберусь до этого однажды, но этот день не сегодня.

Мне нужно добавить миграцию add_index, но когда я запускаю

add_index :users, :name, :fulltext

Я получаю ошибку. неопределенный метод «ключ».

Кажется, я нигде не могу найти документацию, которая объясняет, как выполнить полнотекстовый поиск MySQL в рельсах.

Какое правильное утверждение я должен использовать для add_index, и как только это будет сделано, должен ли я что-то особенное в моей модели использовать полнотекстовый поиск?

Ответы [ 2 ]

15 голосов
/ 15 июля 2013

Возможно, поздний ответ, но кто-то другой может искать это, как я только что сделал.

Это сработало для меня.

add_index :users, :name, name: 'name', type: :fulltext

Или для кратных столбцов

add_index :users, [:name, :description], name: 'name_description', type: :fulltext
1 голос
/ 01 марта 2011

Вы можете сделать следующее в своей миграции

execute "CREATE FULLTEXT INDEX fulltext_name ON users (name)"

Затем я бы предложил эту запись в блоге о создании задач rake и файл schema.rb, совместимый с этим типом индекса.

ОБНОВЛЕНИЕ: правая ссылка на сообщение в блоге

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