Как преобразовать поисковый запрос пользователя в оператор полнотекстового запроса MS SQL - PullRequest
2 голосов
/ 06 апреля 2010

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

Это связано с другим вопросом, который я задал , но он другой. Как лучше всего взять поисковую фразу пользователя и вставить ее в CONTAINSTABLE(table, column, @phrase, topN ) фразу?

Скажем, например, пользовательский ввод: Books by "Dr. Seuss"

Какой лучший способ превратить это во что-то, что даст результаты в моей ContainsTAble() фразе?

Ранее я разбирал поисковую фразу и писал что-то вроде ISABOUT("Books" WEIGHT(1.0), "by" WEIGHT(0.9), "Dr. Seuss" WEIGHT(0.8)) как свою @phrase, но ISABOUT, похоже, возвращает странные результаты ... особенно, когда вводится одно слово.

Есть идеи?

1 Ответ

0 голосов
/ 01 февраля 2011

Мы реализовали слегка измененную версию кода, найденную в этой статье на SQL Server Central . Использует конструкторский компилятор Irony от Codeplex.

В исходной версии была ошибка при запуске любого поискового запроса с зарезервированным словом. Например, при поиске «Orange» он распознает термин ИЛИ и ожидает двоичные операнды, которые не были предоставлены. Это было исправлено в некотором коде, представленном в дискуссионном форуме над статьей, которая теперь содержит до 13 страниц!

...