SQL Server 2005. Полнотекстовый поиск. Нужен тезаурус, работающий с ключевыми словами NEAR / И / ИЛИ - PullRequest
2 голосов
/ 31 марта 2010

Кто-нибудь знает, можно ли выполнить поиск в тезаурусе? вместе с ключевыми словами NEAR или AND / OR. Вот пример типа запроса, который я хочу выполнить:

    SELECT Title, RANK
            FROM Item INNER JOIN
            CONTAINSTABLE(Item, Title, 'FORMSOF(Thesaurus, "red" NEAR "wine")') AS KEY_TBL
            ON Item.ItemID = KEY_TBL.[KEY]
    ORDER BY RANK DESC

.... Но я получаю сообщение об ошибке:

Синтаксическая ошибка около 'NEAR' в полнотекстовом поиске 'FORMSOF (тезаурус, "красный", NEAR "вино")'.

Ответы [ 2 ]

1 голос
/ 07 июля 2017

Рядом и FormsOf плохо работают друг с другом. Прочитайте следующую ссылку Можно ли объединить NEAR и FORMSOF вместе в полнотекстовом поиске?

использовать IsAbout

SELECT   K.RANK, name, Description
FROM      Diagnosis AS C
INNER JOIN
CONTAINSTABLE(diagnosis,name, 'ISABOUT (
FORMSOF(Thesaurus, "red"),
FORMSOF(Thesaurus, "wine"))', 50) AS K
ON C.ID = K.[KEY];
GO
0 голосов
/ 29 июля 2010

Синтаксис тезауруса немного отличается, возможно, вы ищете что-то вроде:

SELECT Title, RANK
            FROM Item INNER JOIN
            CONTAINSTABLE(Item, Title, 'FORMSOF(Thesaurus, "red") NEAR FORMSOF(Thesaurus, "wine")') AS KEY_TBL
            ON Item.ItemID = KEY_TBL.[KEY]
    ORDER BY RANK DESC
...