AMO search relevance ranking

Hi! Does anyone know how the Firefox extension search relevance ranking is determined?

I publish an extension called Stock Inspector, which shows users stock prices. My users are unhappy that they cannot find my extension using super relevant keywords.

For example, with this search for “stock”, sort by relevance, add-on type = extension, operating system = macOS:

  • The top result is uBlock Origin, which doesn’t say anything about stock on its AMO page.
  • There are 11 blocking extensions on the first page that aren’t related to stock.
  • Many other types of irrelevant extensions show up on the first page. For example, FoxClocks, a clock extension that also doesn’t say thing about stock on its AMO page.
  • My extension Stock Inspector doesn’t show up on the first page.

Help please?

I don’t know how the algorithm works, but you could consider adding terms like find or finder, watch, and search to your description so that people can more easily find it when they refine their query. While Inspect and Discover are good terms, they may not immediately come to mind for someone who hasn’t heard of your extension yet.

1 Like

AMO uses elasticsearch for it’s ranking of the search term vs. the content, with a weighting on users, and an additional boost for add-ons in the recommended extensions programme.

One of the ways the search term is broken down and analysed is into trigrams. “Stock” would be broken down into “Sto”, “toc”, “ock” - it’s the “ock” that’s matching against block (and clock). Now, these matches wouldn’t usually be given enough weight vs. a full words to prioritize them that much, but the stock related add-ons have very low user counts, and the blocking (and foxclocks) have very high user counts, and get a recommended extensions boost too.

https://github.com/mozilla/addons-server/blob/master/src/olympia/search/filters.py#L432:L766 for the gory details.

3 Likes

Thanks so much @jscher2000 @eviljeff, super helpful info. I’m disappointed about how difficult it is for users to discover new, high quality add-ons. I will submit my extension to the recommended extensions program, and tweak my prose.