Подтвердить что ты не робот

Как реализовать функции поиска в приложениях ASP.NET MVC

Я могу представить много способов реализации функций поиска в приложении ASP.NET MVC, но поскольку я не могу найти много документации, мне было интересно, есть ли у вас общий шаблон, технология или общий подход к реализации функций поиска в ASP.NET MVC (похоже на stackoverflow). Некоторые технологии, которые я имею в виду:

  • Полнотекстовый поиск SQL Server
  • Внешняя поисковая система (например, Search Server 2008).
  • Lucene.NET

... но как лучше всего их интегрировать с ASP.NET MVC?

Идеи?

4b9b3361

Ответ 1

Не совсем понятно, что вы конкретно задаете, но, в общем:

  • Напишите представление помощника или частичное представление, которое возвращает форму поиска. Назовите это на своих других страницах, где вам нужно отобразить окно поиска. Сделайте форму action GET, а не POST.
  • Для поиска по сайту вы, вероятно, захотите иметь контроллер поиска. Для поиска в одном конкретном типе данных вы можете добавить действие к существующему контроллеру или к аргументу существующего действия. По большей части единственное, что мы должны добавить, это аргумент для действия "Список" общего назначения для определенного типа данных. Форма поиска вызывает "Список" и задает аргумент с строкой поискового запроса.
  • Фактический поиск выполняется в вашем репозитории. Это единственная часть приложения, которая знает о таких вещах, как SQL Server или Lucene. Для тривиальных случаев контроллер может добавлять .Where к IQueryable <T> возвращенный репозиторием.

Ответ 2

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