Split search API into channels and claims ? #109
Labels
No labels
area: app c
area: app d
area: devops
area: discovery
area: docs
area: proposal
area: X-device Sync
Chainquery
consider soon
dependencies
Epic
Fix till next release
good first issue
hacktoberfest
help wanted
icebox
Invalid
level: 1
level: 2
level: 3
level: 4
needs: exploration
needs: grooming
needs: priority
needs: repro
needs: tech design
on hold
Parked
priority: blocker
priority: high
priority: low
priority: medium
Tom's Wishlist
type: bug
type: discussion
type: improvement
type: new feature
type: refactor
type: task
type: testing
unplanned
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: LBRYCommunity/lighthouse.js#109
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The way search works right now, it will return the top X claims and channels based on a search query. This could lead to issues finding channels if the claim results "overwhelm" the channel ones. One example is searching for
Lunduke
. Since he has Lunduke in title names, you only get a bunch of claim results, and nothing on the Channel side. If I increase the search result #s, I eventually get the channel (tried it at 300).@seanyesmunt How will the app handle this? would you prefer two sets of x results, or 1 set of 2x results split equally between claims and channels.
I think one set of 2x results split equally (or at least make sure there is no less than 1 channel if one exists or something) would work best.
Rather than modifying the signature and behavior of generic search
(/search?s=<term>
), maybe these should just be distinct calls?If the app wants to display
n
file results andn
channel results, it may make sense to just make two distinct calls with different parameters/signatures.My comment may still be unclear. Rather than either splitting the response signature of
search
or replacing search with two new calls, I'm suggesting simply adding two new calls (or a new parameter tosearch
) and leavingsearch
called as-is with the same behavior.@kauffj The way the elasticsearch query works is we can x hits from a search. To differentiate between files and channels we would have to do post processing. Right now we just return the to n hits from the results through the api. In this case we would have to iterate over the results and get m files and n channels.
Also another consideration I am thinking of now is that in the future we will have more than two types of claims. So it may be best to just use the claim_type int instead to specify what we want.
I am going to think about this some more.
I think adding a
claim_type=<channel|file>
parameter would be a sensible design.Yeah, I agree. 2 calls is best with the
claim_type
parameter which defaults to all if not passed.@seanyesmunt Does this make sense to you?
@tiger5226 A little late to this, but yes.
merged and deployed with #144