Мой запрос ContainsTable не работает - пожалуйста, помогите :) - PullRequest
0 голосов
/ 22 апреля 2009

У меня есть полнотекстовая настройка каталога. У него уникальный счетчик ключей 117 с 19 предметами. В таблице всего 19 строк.

В таблице есть поле NVARCHAR (50) с именем ClientGuid. Это путеводитель со странным текстом в конце.

например ..

  1. 8b6ef4a504dd1a57f079180e7f6eb4a0 (-)
  2. 8b6ef4a504dd1a57f079180e7f6eb4a0 (OK)

(и нет, я не определил эти данные текстового поля - мы получаем их от стороннего API.

всегда, это мой sql и запрос, который я выполняю против него. Когда я запускаю запрос, я получаю НУЛЕВЫЕ результаты: (

ALTER FUNCTION [dbo].[Foo_HiJonSkeet]
(   
    @ClientGuid NVARCHAR(50)
)
RETURNS TABLE 
AS
RETURN 
(
    SELECT KEY_TBL.[Key] as LogEntryId,
        KEY_TBL.RANK as Relevance
    FROM CONTAINSTABLE(LogEntries, ClientGuid, @ClientGuid) AS KEY_TBL
)


SELECT * FROM  Foo_HiJonSkeet('8b')

Есть предложения? Сервер Sql Server 2008.

1 Ответ

0 голосов
/ 11 июля 2009

Вы можете попробовать следующую конструкцию:

SELECT * FROM  Foo_HiJonSkeet('"8b*"')

добавление двойных кавычек и звездочки после исходного поискового запроса. Это должно работать.

Но в случае, если все поиски будут аналогичны приведенному выше примеру, я советую вам использовать оператор LIKE вместо полнотекстового поиска.

...