Question

I'm developing an application which allows the user to find Product references, searching by keywords (Using the FREETEXTTABLE feature of full-text indexed Table for SQL 2008). Those reference are extracted from two different databases that are both reliable. However they don't give the same result when I order by rank. I use request like follow :

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

Now I would like to find the most relevant reference according to their ranking on BOTH request.

I'm wondering if it's better to add the ranking: for example a ranking of 115 for the first table, and ranking of 95 in second table would give a total of 210 Rank. Or if it's better to multiply them (a 100, 100 reference would become a 10 000 ref) and thus a 105,95 reference would have less because its not the same result even though it has same score with addition.

Any advices to improve relevance of result for this situation would be greatly appreciated

Was it helpful?

Solution

I am not an expert but I would go for sum since FREETEXTTABLE can return 0 in one table so in this case the multiplication will not reflect reality. I see an analogy in OKAPI BM25 ranking formula where the general rank is computed by ranking individual terms of your query and sum them.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top