While working on an implementation for adding more ordering options to choco (related to https://github.com/chocolatey/choco/issues/256), I found there are differences between search results content (apart from their ordering) depending on "OrderBy" options. This varies between slightly different metadata, to entirely different packages being returned. Not necessarily wrong results, but it seems that the result list for unsorted vs unsorted may both be incomplete in slightly different ways.
The URLs in below were extracted from the debug output when running "choco search" commands (including my order changes) and were run again directly in the browser to verify the problem.
Details:
Metadata differences (example used: "eclipse-classic", which returns 1 result with Id "eclipse-classic-juno":
without sorting, empty values are simply an empty tag
with sorting, they get an attribute m:null="true"
Time formatting:
without sorting: max resolution is whole seconds
with sorting: up to milliseconds
Value differences:
without sorting: title for "eclipse-classic-juno" is empty, summary tag is missing
with sorting: value is "eclipse-classic-juno" (assumption: I'm guessing this is a fallback to the package Id and the actual Title field is empty in the db), summary tag is present with null attribute
Not with this particular example, but I also noticed different time stamps sometimes (not just a rounding thing), for results with otherwise pretty much identical content (same version and everything). Assumption: this could be caused by duplicate items in the db which are maybe de-duplicated in the search results, and different items may be pruned due to different order.
Actually complete search items can be different. Example: search for "eclipse":
Search results are again different. There's only a few, it's easy to see.
I've tried to see if I could pinpoint the problem, but this requires more than just code eyeballing it seems (and I'm not at home in this code base). However since this is a derivative of NuGet server, I tried to see if the problem exists on nuget.org as well. Seems like they are moving to a newer search engine version (v3) but I was able to see some of the issues there as well. But with my tests, the only differences were the null attributes and date formatting (timezone appended only for unsorted, the time resolution is the same, so slightly different situation).
While working on an implementation for adding more ordering options to choco (related to https://github.com/chocolatey/choco/issues/256), I found there are differences between search results content (apart from their ordering) depending on "OrderBy" options. This varies between slightly different metadata, to entirely different packages being returned. Not necessarily wrong results, but it seems that the result list for unsorted vs unsorted may both be incomplete in slightly different ways.
The URLs in below were extracted from the debug output when running "choco search" commands (including my order changes) and were run again directly in the browser to verify the problem.
Details:
m:null="true"
I've tried to see if I could pinpoint the problem, but this requires more than just code eyeballing it seems (and I'm not at home in this code base). However since this is a derivative of NuGet server, I tried to see if the problem exists on nuget.org as well. Seems like they are moving to a newer search engine version (v3) but I was able to see some of the issues there as well. But with my tests, the only differences were the null attributes and date formatting (timezone appended only for unsorted, the time resolution is the same, so slightly different situation).
Some URLs to test: