Советы о том, как улучшить полнотекстовый поиск для поисковой системы - PullRequest
0 голосов
/ 27 февраля 2010

Я разрабатываю: http://www.buscatiendas.com.mx

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

Я использую полнотекстовый поиск SQL Server.

Ответы [ 3 ]

1 голос
/ 27 февраля 2010

Почему у вас нет Google / Bing индексировать его для вас и просто использовать его с помощью функции сайта:

Если это не вариант, вам, возможно, придется иметь одну из ваших собственных «программ проверки правописания» (либо внедрить себя, либо просто использовать существующую), которая обучается на ваших данных. Обратите внимание, что проверка орфографии не является детерминированной (например, для latel, это метка? Позже?). Вы можете сделать только «лучшее» предположение на основе фактических данных, которые у вас есть на вашем сайте.

Существуют вероятностные модели, в которых вы можете «обучить» своего гадателя / контролера заклинаниям придумать «лучшее» предположение.

Следующая страница кажется довольно полезной. Он содержит описание того, как написать его самостоятельно, а также имеет хорошие ссылки (включая обзорный документ) и ссылки на реализации на разных языках:

http://norvig.com/spell-correct.html.

0 голосов
/ 27 февраля 2010

Если вы хотите развернуть свое собственное, сначала вам нужно отфильтровать шумовые слова, прежде чем вы даже начнете искать, потому что это может просто излишне нагрузить вашу базу данных. должна ли "хорошая книга" совпадать с поиском "хорошей книги" или "его хорошей книги" или "хороших и плохих рецензий на книгу"? поэтому очевидно, что «a», «the», «an», «and» и т. д. совсем не квалифицируются как «полезные» ключевые слова для поиска. как только у вас отфильтровывается «шум», вы начинаете настоящий поиск. Опять же, вы должны рассмотреть производительность базы данных. разумно ли искать динамическую базу данных или предварительно обработанную базу данных? найти способ отфильтровать шумовые слова и в данных поиска.

0 голосов
/ 27 февраля 2010

Есть два способа решить эту проблему:

  1. Купите сторонний продукт, например, приложение для поиска в Google, или один из Поисковые серверы Microsoft.

  2. Зарегистрируйте все запросы и попросите кого-нибудь их просмотреть, составив таблицу, которая связывает плохие запросы с тем, что они должно быть. (Возможно, вы могли бы купить библиотеку компонентов, которая делает это очень похоже на проверка орфографии.)

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