Лучший способ создать функцию поиска ASP.NET и SQL-сервер - PullRequest
2 голосов
/ 30 октября 2008

У меня есть база данных SQL с несколькими таблицами, и я работаю над созданием функции поиска. Кроме нескольких запросов для разных таблиц, есть ли другой способ поиска упомянутой функции поиска?


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

Ответы [ 4 ]

3 голосов
/ 30 октября 2008

Различные подходы к рассмотрению:

1) Предварительно запечено несколько запросов, как вы описали.

2) Динамический SQL, который вы собираете на лету на основе введенных пользователем критериев.

3) Если используется текст, на основе полнотекстового поиска SQL Server или Lucene.

В моем приложении с открытым исходным кодом BugTracker.NET я делаю и 2, и 3 (используя Lucene.NET).

Я задокументировал, как я использую Lucene.NET здесь: http://www.ifdefined.com/blog/post/2009/02/Full-Text-Search-in-ASPNET-using-LuceneNET.aspx

0 голосов
/ 30 октября 2008

Возможно, вы захотите проверить этот пост, который я написал о написании полнотекстовых запросов, он написан на C #, но легко переносим, ​​или просто поместите его в библиотеку и используйте как есть.

Как создать поисковый запрос для полнотекстового индекса SQL в c #

0 голосов
/ 30 октября 2008

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

Итак, для веб-сайта, который я помогаю создать, мы кэшировали данные для поиска каждые несколько часов из многих таблиц в одну простую таблицу со столбцами, такими как:

  • URL
  • Элемент / Название страницы
  • Основные ключевые слова
  • Только текстовое содержание
  • Дата обновления

Затем я написал бы свой оператор SQL для поиска в этом поле, используя различные функции для определения ранга.

0 голосов
/ 30 октября 2008

Поскольку вы пометили вопрос с помощью Asp.net, я полагаю, вы хотите найти свои веб-страницы. В этом случае вы можете использовать Indexing Server, чтобы легко выполнять поиск в свободном тексте, который выполняет поиск по сгенерированному html и любым заданным вами ключевым словам.

Как предложил Corey Trager, использование Lucene.NET также возможно. Он имеет хорошую репутацию быстрого и простого в использовании.

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