SQL Server 2005 - FREETEXTTABLE, игнорирующий отдельные символы - PullRequest
0 голосов
/ 27 апреля 2011

У меня проблема с запросом, который я выполняю.В основном это поиск по столу книг.В приведенном ниже запросе используется команда FREETEXTTABLE для ранжирования поиска автора:

@author = 'lewis c s'

SELECT *
FROM tbl_products
INNER JOIN FREETEXTTABLE(tbl_products, [author], @author, LANGUAGE 'British English') AS key_tbl ON tbl_products.product_id = key_tbl.[key]
WHERE deleted = 0
ORDER BY key_tbl.[rank] DESC, author ASC, title ASC, stl_product_id ASC

Полученные результаты сбивают с толку ... возвращаемая верхняя строка принадлежит автору с именем lewis lewis и lewis c s занимает место ниже этого!

Теперь я отредактировал свой noiseENG.txt, удалил отдельные буквы и перестроил свой полнотекстовый каталог, но я не вижу изменений в своих результатах.Я знаю, что изменение этого файла работает, потому что я добавил lewis в список, и он отфильтровал все поиски с lewis в столбце автора.

Примечание: если я ищу только 'cs', яне получайте результатов, поэтому кажется, что отдельные буквы игнорируются все вместе!Кроме того, для всех индексированных полей установлено значение British English.

Кто-нибудь знает, почему команда FREETEXTTABLE по-прежнему будет отфильтровывать отдельные буквы?

1 Ответ

0 голосов
/ 27 апреля 2011

Попробуйте поиск по фразе а-ля:

@author = '"lewis c s"'
...