Какова стратегия простого поиска по сайту в среде SQL Server 2008 и ASP.NET MVC? - PullRequest
1 голос
/ 10 мая 2011

Я пытаюсь выработать стратегию реализации очень простого поиска по сайту в ASP.NET MVC и SQL Server 2008.

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

Итак, я просто пытаюсь найти подход.Я думаю следующее:

Подход 1: Мне, вероятно, следует написать программу для паука сайта и каким-то образом проиндексировать текст сайта - я думаю, что я должен сохранить информацию втаблица как:

  • ID
  • Слово
  • URL

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

Подход 2: Затем я задумался об использовании SPROC для создания временной таблицы сзапись для каждого URL, которая каким-то образом анализирует текст и определяет, сколько раз фраза или слово появлялись в каждом отдельном URL.и тогда мы вернем результаты из временной таблицы.Я думаю, временная таблица будет выглядеть примерно так:

  • ID
  • SearchText
  • URL
  • Частота

А потом select * from temptable order by Frequency asc или что-то в этом роде.

Однако я не уверен, что SPROC способны анализировать такой текст или возможен одновременный поиск.

Iищу что-то очень легкое.Мне не очень интересно использовать Lucene, Solr или что-то в этом роде, потому что кривая обучения кажется очень крутой, а возможности этих приложений намного больше, чем мне нужно.

Любые мысли о том, как мне следует к этому подходитьпроблема?Есть ли другой подход, который я должен рассмотреть?

Ответы [ 4 ]

0 голосов
/ 12 мая 2011

Если вы рассматриваете полнотекстовый поиск, посмотрите также lucene.net .

Я использовал FTS для одного проекта, а затем использовал lucene.net для другого, и хотятребования отличались от ваших, я бы никогда не вернулся в ФНС.

0 голосов
/ 10 мая 2011

Может быть, не совсем то, что вы хотите, но Windows SharePoint Search Server не так уж и плох.

Да, в нем есть слово «SharePoint», которое обычно заставляет меня схватить ножницы на своем столе и начать высовывать мне глаза, но необходимость использовать его один раз в крайнем случае, на самом деле меня это несколько впечатлило ,

Это бесплатно, так что, может быть, стоит потратить пару часов, чтобы поиграть с ним, чтобы сравнить с написанием чего-то особенного.

0 голосов
/ 10 мая 2011

После небольшого возмущения похоже, что полнотекстовый поиск в SQL Server 2008 - это то, что я хотел бы использовать.Я еще не уверен на 100%, но это выглядит многообещающе.

http://msdn.microsoft.com/en-us/library/ms142547.aspx

0 голосов
/ 10 мая 2011

Для вашей фразы по сравнению с вопросом о слове, почему бы не использовать подстановочные знаки и операторы LIKE?

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