Почему или как FREETEXTTABLE дает более высокий рейтинг, чем другие

StackOverflow https://stackoverflow.com/questions/210094

Вопрос

Существует процедура сохранения, которая дважды использует FREETEXTTABLE для двух таблиц, а затем объединяет результаты и возвращает 50 лучших.

Проблема в том, что если я выполню поиск по запросу «Женщины Брюстера», результаты вернут «Исповедь бывшего дурака-моты» с рейтингом 143 из таблицы A и вторую «Женщины Брюстера» с рейтингом 102 из таблицы B. .

Это из-за счёта?(Общее количество результатов в таблице А составляет 2399.Всего результатов возврата в таблице B — 3445.)

Это было полезно?

Решение

Короткий ответ:

Рейтинг Freetext основан на формуле рейтинга Okapi BM25.Каждый термин в запросе ранжируется, а значения суммируются.Запросы Freetext добавят слова в запрос с помощью инфлекционной генерации (STEM -формы исходных терминов запроса);Эти слова рассматриваются как отдельные термины без особого взвешивания или отношений со словами, из которых они были получены.Синонимы, полученные из функции тезауруса, рассматриваются как отдельные, одинаково взвешенные термины.

Гораздо более длинный и гораздо более сложный ответ, конечно же, можно найти на сайте Microsoft.Для высшей математики, кликните сюда.

Другие советы

1) Файл шума был ограничен несколькими символами, а это означает, что слово «of» теперь считается важным.

2) Результаты двух таблиц (количество) имеют значение, поскольку меньшей таблице, скорее всего, будет присвоено лучшее значение веса.Это приведет к повышению рейтинга в таблице меньшего размера.

Ссылка Йозефа на MSDN отлично помогла выяснить, как вычисляется значение ранга.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top