Как создать поисковую систему в C#

Я пытаюсь создать веб-приложение в ASP.NET MVC и должным быть создать довольно сложную функцию поиска. Когда пользователь вводит критерий поиска, я хочу искать множество источников данных, которые включают документы, таблицы в базе данных, URL веб-страницы и некоторых API как Facebook. Любые подсказки, учебные руководства и подсказки значительно ценились бы.

11
задан Kumar 29 May 2010 в 02:04
поделиться

2 ответа

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

  • Одним (самым простым) вариантом может быть использование сторонней поисковой системы (например, Google Custom Search, но Bing, вероятно, имеет аналогичный API). Это позволит вам искать (только) вашу страницу с помощью Google и отображать результаты в настроенном виде. Ограничение заключается в том, что он ищет только данные, отображаемые на некоторых (связанных) страницах.

  • Более сложный подход заключается в использовании какой-либо библиотеки .NET, которая реализует индексирование за вас (на основе данных, которые вы ей предоставите). Популярной библиотекой является, например, Lucene.Net. В этом случае вы предоставляете ей данные, которые вы хотите искать в явном виде (релевантное содержимое веб-страниц, содержимое базы данных и т.д.), поэтому у вас больше контроля над тем, что будет искаться (но это немного больше работы).

16
ответ дан 3 December 2019 в 04:31
поделиться

Построение реальных структур и алгоритмов индекса поиска - нетривиальная задача. Вот почему люди используют Lucene, Sphinx, Solr и т. Д. Использование google.com, как рекомендовано в комментариях, не даст вам никакого контроля и плохого соответствия по сравнению с тем, что вы получите от одной из этих бесплатных поисковых систем, при правильной настройке и использовал.

Я рекомендую взглянуть на Solr , он дает вам возможности Lucene, но его намного проще использовать, плюс он добавляет несколько удобных функций, таких как кэширование, сегментирование, фасетирование и т. Д.

SolrNet - это клиент Solr для .Net, у него есть образец приложения ASP.NET MVC, которое вы можете использовать, чтобы увидеть, как оно работает, и в качестве основы для вашего проекта.

Отказ от ответственности: я являюсь автором SolrNet.

6
ответ дан 3 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: