Skip to content

Instantly share code, notes, and snippets.

@yishaigalatzer
Last active February 1, 2016 18:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yishaigalatzer/8a90fedb644ffc0cd474 to your computer and use it in GitHub Desktop.
Save yishaigalatzer/8a90fedb644ffc0cd474 to your computer and use it in GitHub Desktop.

Feb-1-2016

Current search status We have two search services running side by side, for v2 and v3 protocols and we are in the process of unifying them for operational simplicity mostly. During this process we have found some bugs in the search indexer, and by fixing them along with some minor changes to the boosting algorithm we believe we have overall better results and better testability.

The new search is now being tested here - http://nuget-prod-0-v2v3search.azurewebsites.net/query?q=jil and it will show jil as first.

Algorithm description In general we look in the id, description, title and tags and we boost somewhat by downloads (but only for top packages). So potentially packages that have the same term in both id, description, title and tag might get a better score than one that have it just in the id.

With this new search endpoint we are now boosting perfect id matches more than we have in the past.

Boosting by download counts, proves to be unreliable once you go beyond the top packages, so the auto boosting is disabled after the top 250 packages. Now we realize we can do more in this space, see below.

What’s next We plan to spend more effort in the search space, when we free up some folks. Things we have in mind (this is totally a strawman, not any concrete plan)

  1. Better download boosting for subset of packages where similar packages have similar ranks (so don’t boost packages with low ranks over packages with high ranks, but boost packages with similar ranks over each other).
  2. Modeling of package realationships, and providing additional metadata (perhaps socially) to figure out what packages folks actually install, so we show the * right * one to install on top
  3. Things like EF -> EntityFramework
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment