2010-08-11 3 views
3

Предположим, у меня есть большая база данных с информацией о продукте. Я хочу создать поисковую систему для этой базы данных, желательно с функциями индексирования и автокоррекции. Как мне это сделать? Есть ли хорошие библиотеки, которые я мог бы использовать, так что мне не нужно начинать с нуля с базового SQL? Просто некоторые основные рекомендации, ссылки, будут высоко оценены.поиск в базе данных

Я знаком с PHP, C#, VB и Java, но я мало что знаю о базах данных.

+0

В каком формате содержится информация о продукте? –

ответ

1

Если ваша база данных продуктов создает веб-страницы, вам лучше всего использовать lucene или htdig. Те будут делать действительно хороший текстовый поиск на основе вашего контента.

В противном случае вам нужно будет искать большие поля в своей базе данных, используя полный текст text search capabilities in mysql.

Для выполнения автозаполнения вам понадобится автономный процесс индексирования, который работает аналогично Google. Создайте еще одну таблицу под названием wordIndex. Он содержит слова и количество вхождений в вашем продукте db.

Когда пользователь начинает печатать, вы делаете ajax-поиск в этой таблице и на основе автозаполнения.

0

Если поиск mySQL FULLTEXT не делает все, что вам нужно (базы данных имеют собственные индексы, которые вы можете настроить), двумя хорошими вариантами являются Solr (на основе Lucene) и Sphinx. Оба часто используются для предоставления полнофункционального индекса поиска поверх базы данных mySQL. Вот a comparison of the two.

Смежные вопросы