2010-10-29 3 views
1

Я попытался использовать полнотекстовый поиск для таблицы под названием «Бизнес» в SQL Server 2008. Вот утверждение (поисковый запрос на китайском языке).Полнотекстовый поиск SQL Server не возвращает всех результатов

select * from Business biz where CONTAINS(biz.*,'家具') 

А потом я использую, как заявление, чтобы сделать то же

select * from Business where Name like '%家具%' 

Поиск полнотекстовый возвращает 8 результатов и т.п. поиск возвращает 9 результаты, является то, что я ожидал. Кто-нибудь знает, что может вызвать это?

ответ

1

Я не знаю китайский язык, поэтому не могу сказать точно, но вот мое лучшее предположение.

Полнотекстовый поиск SQL Server основан на словах, тогда как LIKE ищет шаблоны символов внутри строки. В качестве примера на английском языке поиск CONTAINS для «предупреждения» не найдет слово «предупрежденный», но LIKE для «% warn%» будет.

+0

это как раз так, как вы описали. sql sever 2008 не очень хорош в полнотекстовом поиске с китайским. Я изменил свой полнотекстовый движок на lucene.net, он отлично работает без каких-либо проблем. – wschenkai

+0

@wschenkai: Рад слышать, что вы нашли решение. Не могли бы вы пометить этот ответ как принятый? –

Смежные вопросы