2009-07-08 2 views
2

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

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

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

ответ

2

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

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

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

+0

Да, это то, что я искал. –

0

«English Query» был встроен в SQL Server 2000, но с тех пор он превратился в безвестность. Я не думаю, что есть что-то из коробки, чтобы делать запросы на естественный язык. Есть products out there, но, как вы можете себе представить, это непростая задача.

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

Кто живет в [Расселение городов]?

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

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