SQL Server СОДЕРЖИТ цифры и не дает результатов - PullRequest
2 голосов
/ 25 марта 2010

У меня есть таблица базы данных с полнотекстовой индексацией, и я использую функцию CONTAINS для выполнения поискового запроса.

Когда я делаю:

SELECT * FROM Plants WHERE CONTAINS(Plants.Description, '"Plant*" AND "one*"');

Я получаю все правильные результаты, соответствующие описанию со словами «Растение» и «один».

Некоторые растения называются как «Завод 1», «Завод 2» и т. Д., И это проблема.

Когда я делаю это, я не получаю результатов:

SELECT * FROM Plants WHERE CONTAINS(Plants.Description, '"Plant*" AND "1*"');

Кто-нибудь знает почему?

Ответы [ 2 ]

2 голосов
/ 25 марта 2010

Существует список часто используемых слов, которые не индексируются при поиске по ключевым словам, например "и" и "the".

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

Если я правильно помню, есть интерфейс администратора, позволяющий вам редактировать этот список общих слов. Я попытался отредактировать его один раз, несколько лет назад, и я вспоминаю, как мне было трудно понять разницу после этого.

0 голосов
/ 25 марта 2010

Даан правильный. вам нужен еще один * перед тем, как 1. Размещение подстановочных знаков по обе стороны от поискового термина ищет во всей строке искомое условие независимо от его положения.

...