sql server полнотекстового поиска (который стековый поток выключен) - PullRequest
0 голосов
/ 18 ноября 2011

Мое приложение - это справка (система помощи пользователю), аналогичная онлайн-MSDN. но единственный способ навигации - через ПОИСК. Либо поиск выполнен успешно, либо моя система не работает.

Я ищу стороннюю поисковую систему, которая может подключиться к базе данных и предоставить из коробки полнотекстовый поиск. Я исследовал SQL Server 2008 IFTS, API-интерфейсы lucene.net, SQL Lite FTS4, но все они не имеют рейтинга результатов так же хорошо, как Google.

я не ожидал, что это как Google, но мне нужен лучший продукт для поисковой системы.

Любое предложение или опыт?

может быть, мне не следует искать стороннюю поисковую систему и использовать Lucene.NET или sql server 2008 FTS но как я могу установить хороший рейтинг для предоставленного пользователем поискового запроса .. как

«Как я могу загрузить файл Excel в интерфейсе XYZ» и т. Д.

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

Мой короткий ответ обескураживает: вы не сможете найти, сделайте это сами, даже для «нормального» решения.

Если вы хотите получить хороший рейтинг:

  1. Сделайте свой сайт дружественным для поисковых систем (это не обязательно означает, что вы должны открывать его для публики, просто убедитесь, что поисковые системы понимают URL-адреса.)
  2. Платите Google, чтобы сделать это (ищите приложения Google)

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

Ранжирование является одним из ключевых факторов, насколько хороша поисковая система.Неудивительно, что ранжирование сложно.

Чтобы дать вам представление о том, насколько это сложно, возьмите, например, предложение в вашем вопросе (то есть, «как я могу загрузить файл Excel в интерфейсе XYZ»).Чтобы получить хорошие результаты, поисковая система должна ответить как минимум на два вопроса:

  1. Какие ключевые слова наиболее важны?Например, XYZ может быть более важным, чем слово «как» и «может».

  2. Каковы возможные значения этого слова?«Excel» может быть Microsoft Excel или Xcel Energy (название компании Excel)

Существует целое поле в компьютерной науке, посвященное этой проблеме.Если вам нужны дополнительные доказательства, взгляните на ACM WWW.

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

К сожалению, «много» означает много работы - например, много учебниковпредложить ранжировать документы на основе TF / IDF, но для разумного сокращения этих значений необходимо просканировать миллионы веб-страниц.

Подводя итог:

  1. Ранжировать сложно.
  2. Поэтому неудивительно, что вы не сможете найти какие-либо бесплатные готовые решения, а Google и Microsoft сохраняют свои алгоритмы ранжирования проприетарными.
  3. Если вы хотите ранжировать документы вбольшая база данных, получите поисковую систему.
0 голосов
/ 19 января 2012

ознакомьтесь с новой функцией семантического поиска в SQL Server 2012: http://msdn.microsoft.com/en-us/library/gg492075%28v=sql.110%29.aspx Это не будет серебряной пулей, но может предоставить вам подход «из коробки».

...