API поиска Google или полнотекстовое индексирование MS SQL Server?

StackOverflow https://stackoverflow.com/questions/1149270

Вопрос

Мы работаем над веб-сайтами для наших клиентов и хотим внедрить решение для поиска, которое можно было бы легко использовать повторно.За каким из них нам следует идти?Должны ли мы использовать API поиска Google или нам следует использовать полнотекстовое индексирование сервера MS Sql и предикаты CONTAINS и FREETEXT?

Это было полезно?

Решение

Мы используем полнотекстовую индексацию SQL Server здесь, в Stack Overflow, и она работает достаточно хорошо, но я могу только рекомендуем его для версий 2005 и 2008 годов, в которых мы его используем.Я слышал, что в 2000 году было намного хуже.Есть странности (списки стоп-слов и т. д.), но ничего серьезного.Он быстрый и в основном делает то, что заявлено.

Проблема, с которой вы столкнулись contains() и freetext() в том, что пользователи часто ожидают поиска на уровне «вся страницы», как в Google., где все, что написано на странице/экране, доступно для поиска.На самом деле базы данных работают не так, но пользователей это не волнует.Они заботятся о результатах и ​​имеют (возможно, разумные) ожидания, основанные на многолетнем поиске в Интернете.

Если вы ожидаете, что вам понадобится уровень поиска «вся страница», я настоятельно рекомендую взглянуть на API поиска Google, или Lucene.NET (при условии, что вы используете стек Microsoft, основанный на использовании SQL).

Другие советы

Преимущество полнотекстового поиска SQL Server заключается в том, что входной барьер довольно низок (при условии, что вы уже используете SQL Server).StackOverflow использует его для поиска.Обратной стороной является то, что его эффективность (или ее отсутствие) является одним из наиболее часто критикуемые функции СО.Настолько, что многие люди (включая меня) по умолчанию используют «site: stackoverflow.com ...» в Google.

Пользовательский поиск Google также имеет низкий барьер для входа, но вы теряете некоторый контроль над тем, как часто обновляется ваш индекс и сколько результатов поиска вы можете вернуть. Поиск по сайту Google — улучшенная версия, в которой исправлены некоторые из этих функций (например, индексирование по требованию).

В верхнем конце у вас есть Поисковые устройства Google, что на самом деле является вашим единственным вариантом Google, если ваши данные не являются общедоступными.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top