Page MenuHomePhabricator

Introduce search result buckets
ClosedPublic

Authored by epriestley on May 16 2016, 12:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 18, 6:28 PM
Unknown Object (File)
Wed, Mar 6, 12:59 AM
Unknown Object (File)
Wed, Mar 6, 12:59 AM
Unknown Object (File)
Tue, Mar 5, 5:08 AM
Unknown Object (File)
Feb 27 2024, 9:03 PM
Unknown Object (File)
Feb 27 2024, 8:54 PM
Unknown Object (File)
Feb 3 2024, 10:06 AM
Unknown Object (File)
Jan 26 2024, 11:21 PM
Subscribers
None

Details

Summary

Ref T10939. Currently, Differential hard-codes some behaviors for the "active" filter. This introduces "buckets" to make this grouping behavior more general/flexible.

The buckets don't actually do any grouping yet, this just gets rid of the $query === 'active' stuff so far.

These buckets change the page size to a large value, becuase pagination won't currently work with bucketing.

The problem is that we normally paginate by selecting one more result than we need: so if we're building a page of size 10, we'll select 11 results. This is fast, and if we get 11 back, we know there's a next page with at least one result on it.

With buckets, we can't do this, since our 11 results might come back in these buckets:

  • A, B, C, A, C, C, A, A, B, B, (B)

So we know there are more results, and we know that bucket B has more results, but we have no clue if bucket A and bucket C have more results or not (or if there's anything in bucket D, etc).

We might need to select a thousand more results to get the first (D) or the next (A).

So we could render something like "Some buckets have more results, click here to go to the next page", but users would normally expect to be able to see "This specific bucket, A, has more results.", and we can't do that without a lot more work.

It doesn't really matter for revisions, because almost no one has 1K of them, but this may need to be resolved eventually.

(I have some OK-ish ideas for resolving it but nothing I'm particularly happy with.)

Test Plan

Screen Shot 2016-05-16 at 5.29.49 AM.png (334×1 px, 46 KB)

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Introduce search result buckets.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.May 16 2016, 3:59 PM
This revision was automatically updated to reflect the committed changes.