Используются ли в MS SQL Server 2000 запросы полнотекстового индекса с использованием freetextable?
-
05-07-2019 - |
Вопрос
Я использую полнотекстовую индексацию MSSQL для нескольких таблиц в моей CMS и, к сожалению, застрял в SQL Server 2000. Я запрашиваю индекс с помощью соединений freetexttable и получаю довольно хорошие результаты, но у нас есть несколько уникальных терминов это, вероятно, поисковые запросы, которые, как представляется, не являются Например, запрос, использующий термин «умная панель» возвращает пару строк, одна из которых использует " smartbars " возвращает другой, только частично перекрывающийся набор результатов.
Если я правильно понимаю концепцию основ, я бы предположил, что первый запрос будет содержать все строки во втором запросе, но это не так.
Просмотр электронной книги MSDN, эта страница упоминает об этом в комментариях к параметру freetext_string, но на этой странице нет. Исходя из этого, я бы предположил , что SQL Server 2000 не основывает слова в свободном текстовом запросе; это правильное предположение? Есть ли способ поощрить или включить SQL Server 2000 для остановки? В качестве запасного варианта я, вероятно, буду использовать файлы тезауруса для важных запросов для наших уникальных терминов, но скорее позволю SQL Server выполнять большую часть работы.
В качестве продолжения, если у кого-то есть ссылки на полезные ресурсы по полнотекстовым запросам SQL Server 2000, я был бы очень признателен. Информация MSDN полезна, но мне бы хотелось получить более подробную информацию, и я не смог бы найти много.
Решение
Я думаю, что вы ищете немного по-другому. Вы хотите найти все формы слова. Это имеет какое-то отношение к основам, но в полнотекстовом поиске MS SQL Server результат немного отличается. Вам необходимо явно указать серверу искать все формы слова, а не только само слово.
Вот как это сделать:
SELECT <select list>
FROM [YourTable]
WHERE CONTAINS(*, 'FORMSOF (INFLECTIONAL, smartbar)')
Существует статья в MSDN на эта тема. Согласно другим ресурсам, эта функция была доступна и в SQL 2k (но у меня нет экземпляра для проверки).