Ranking the Search Results

The search results of a query to the Autonomy search engine can be sorted by one or more fields. The most common sorting is by score. The score is a value calculated by the search engine which expresses the relevance of this search result (hit) in relation to the search query.

The score for a particular document is the result of assigning a score to each search term (the exact algorithms for this are unknown) and then combining these partial scores. How they are combined depends on the search operator used:

  • AND – minimum of the partial scores.
  • OR – maximum of the partial scores.
  • YESNO – a positive partial score results in 1, 0 remains 0.
  • ANY – like YESNO(OR ...)
  • [xx] – multiplies the partial score with 0.xx.

Assume the following partial scores for a search result:

  • "Teddy" returns 0.4
  • "Bär" returns 0.8
  • "admins" <IN> permissionLiveServerRead returns 0.77
  • "free" <IN> noPermissionLiveServerRead returns 0

Applying the rules for combination mentioned above yields the following results:

  • "Teddy" <OR> "Bär" yields max(0.4, 0.8) -> 0.8
  • "Teddy" <AND> "Bär" yields min(0.4, 0.8) -> 0.4
  • [90]"Teddy" <#OR> [10]"Bär" yields max(0.36, 0.08) -> 0.36
  • <#ANY> (("admins" <#IN> permissionLiveServerRead), ("free" <#IN> noPermissionLiveServerRead)) yields YESNO(max(0.77, 0) -> 1

Further details on calculating scores can be found in the documentation for the individual operators and modifiers. In particular, see MANY and ACCRUE.