Page MenuHomePhabricator

Update dashboards to handle new adjustments to 'did you mean' feature
Closed, ResolvedPublic

Description

The did you mean feature will start internally re-running suggested queries. To the existing CirrusSearchRequests log this will still look like there is a no result query requested via web though. https://gerrit.wikimedia.org/r/#/c/224502/ makes a small addition to the logs, an executor id. This uniquely identifies the execution context of a request. Multiple requests with the same executor id and run within a short timespan of each other should be treated as if only the last query returned results.

Event Timeline

EBernhardson raised the priority of this task from to Needs Triage.
EBernhardson updated the task description. (Show Details)
EBernhardson subscribed.

If you point me in the right direction I might be able to make these adjustments. I see https://github.com/Ironholds/floccus but that seems to be just the functions, and not the glue that gets run against the actual CirrusSearchRequests files.

Who is 'you'? Is Ironholds supposed to be CC'd here? What projects are supposed to be on this ticket?

An example of the logs to be processed: https://phabricator.wikimedia.org/P953

These are just the queries run as part of the browser tests, but might be a good enough sample to test against.

I ended up finding the code that does this, I'm pretty sure it is https://github.com/Ironholds/rainbow/blob/master/data_retrieval/core.py

I've got a patch worked up that should do the trick, but havn't fully tested yet.

I consider that it should work this way:

Before:

  • User runs query A and gets 0 results and a search suggestion B. This is logged as a zero result query.
  • User runs query B and gets results. This is not logged as a zero results query.

After:

  • User runs query A. Backend sees 0 results and search suggestion B, runs search suggestion B, and gives that to the user. This is not logged as a zero results query.

I figure this is probably the way you've implemented it, but I wanted to make sure the requirements are clear.

@Ironholds not yet, someone needs to +2 the following patches:

Add executor id to CirrusSearchRequests log
https://gerrit.wikimedia.org/r/224502

Start internally forwarding/rewriting zero result queries with suggestions
https://gerrit.wikimedia.org/r/#/c/223885/

Is it done without those being merged and deployed? ;p

Yes, because the ticket says 'Update dashboards to handle' and the dashboards now appropriately handle the data. Getting the data into the dashboard is a tasked blocked by this one.