Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как ранжируются результаты поискового запроса. Бага FTS?  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Уважаемое сообщество.
Натктулся на непонятное мне поведение FTS.

select * from containstable(myTable, Text, '"market"')  order by [RANK] desc

Все нормально. RANK расчитан.

select * from containstable(myTable, Text, '"market*"')  order by [RANK] desc

УПС!!! А RANK то у всех документов равен 0.

Странно и не понятно.

Количество записей в таблице - около 32 000 000.
select count(*) from containstable(myTable, Text, '"market*"')
говорит, что таких записей у меня около 27 000 000

На примере из 100 записей такое поведение не воспроизводится.
Пытался воспроизвести с другим словом - "company*" таких около 26 000 000. Тоже не воспроизводится.
"min*" и "min" - опять RANK = 0 для "min*".

В чем проблема - не понимаю.

http://msdn.microsoft.com/ru-ru/library/cc879245.aspx#how

Ранжирование CONTAINSTABLE использует следующий алгоритм:

StatisticalWeight = Log2( ( 2 + IndexedRowCount ) / KeyRowCount )
Rank = min( MaxQueryRank, HitCount * 16 * StatisticalWeight / MaxOccurrence )

Фразовые соответствия ранжируются как отдельные ключи, за исключением того, что значение KeyRowCount (количество строк, содержащих эту фразу) является приближением — оно может быть неточным и выше фактического значения.


Как я понимаю сиквел не может оценить правильно KeyRowCount. Я прав?

Microsoft SQL Server 2012 (SP1) - 11.0.3321.0 (X64)
Nov 14 2012 19:41:38
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
16 дек 13, 15:27    [15299441]     Ответить | Цитировать Сообщить модератору
 Re: Как ранжируются результаты поискового запроса. Бага FTS?  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
А Вы подождали, пока индекс достроится?
16 дек 13, 15:30    [15299467]     Ответить | Цитировать Сообщить модератору
 Re: Как ранжируются результаты поискового запроса. Бага FTS?  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Dmitry V. Liseev,

Да, Дмитрий. Индекс достроен. На данный момент есть 14 фрагментов. Все со статусом 4 — "закрыт. Готов к запросу";
16 дек 13, 15:35    [15299516]     Ответить | Цитировать Сообщить модератору
 Re: Как ранжируются результаты поискового запроса. Бага FTS?  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Up.
Может кто-то в конце дня случайно посмотрит и подскажет есть ли решение. Или писать в MS. :)
16 дек 13, 18:42    [15300885]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить