.Net и SQL Server поиск - PullRequest
       24

.Net и SQL Server поиск

2 голосов
/ 09 июля 2009

У меня есть веб-приложение asp.net, написанное на C # с использованием базы данных SQL Server 2008. База данных содержит события с информацией из ряда таблиц, таких как событие, место проведения, город и играющие группы.

В идеальном мире я бы хотел, чтобы мои пользователи вводили запрос типа естественного языка в одном окне поиска в строке «Кто в Брисбене». Однако у меня нет на это большого количества времени, поэтому я открыт для более простых предложений.

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

Ответы [ 2 ]

2 голосов
/ 09 июля 2009

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

Чего он не сделает, так это естественного поиска, так что в вашем примере играет группа под названием Brisbane, в которой вернутся. Написание естественного поиска может быстро усложниться.

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

0 голосов
/ 09 июля 2009

" Английский запрос " был встроен в SQL Server 2000, но с тех пор превратился в мрак. Я не думаю, что есть что-то из коробки, чтобы делать запросы на естественном языке больше. Есть продуктов , но, как вы можете себе представить, это не простая проблема.

Если вы хотите сделать что-то «более простое», попробуйте задать несколько стандартных запросов, которые может выбрать пользователь. Что-то вроде ...

Кто живет в [Dropdown of Cities]?

Это работает, только если вы можете предвидеть общие запросы.

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