Обработка релевантности результатов поиска из нескольких таблиц с помощью FREETEXTTABLE

Я разрабатываю приложение, которое позволяет пользователю находить ссылки на продукты, выполняя поиск по ключевым словам (используя функцию FREETEXTTABLE полнотекстовой индексированной таблицы для SQL 2008). Эти ссылки взяты из двух разных баз данных, которые обе надежны. Однако они не дают того же результата, когда я заказываю по рангу. Я использую такой запрос:

Select xxx FROM Table as P_TBL
INNER JOIN FREETEXTTABLE(Table, column,'key words',LANGUAGE 1033) AS F_TBL
ON P_TB.id = F_TBL.[Key]
ORDER BY RANK

Теперь я хотел бы найти наиболее релевантные ссылки в соответствии с их рейтингом по ОБОИМ запросам.

Мне интересно, не лучше ли добавить рейтинг: например, рейтинг 115 для первой таблицы и рейтинг 95 во второй таблице даст в общей сложности 210 Rank. Или, если лучше их умножить (ссылка 100, 100 станет ссылкой на 10 000), и, таким образом, ссылка 105,95 будет иметь меньше, потому что это не тот же результат, даже если у нее такой же результат с добавлением.

Будем очень признательны за любые советы по повышению актуальности результата в данной ситуации.


person WizLiz    schedule 16.01.2013    source источник


Ответы (1)


Я не эксперт, но я бы пошел за суммой, поскольку FREETEXTTABLE может возвращать 0 в одной таблице, поэтому в этом случае умножение не будет отражать реальность. Я вижу аналогию в формуле ранжирования OKAPI BM25, где общий рейтинг вычисляется путем ранжирования отдельных терминов вашего запроса и их суммирования.

person alexb    schedule 16.01.2013