Filters #49
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#49
Loading…
Add table
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?
Filtering server side
Is there any news / plans for filter integration,
like search only for a specific
content type
: audio / video / files,or
channel
andtags
...(if the daemon ever support it) 🙃
https://github.com/lbryio/lbry-app/issues/664#issuecomment-335684392
Yes, we have this metadata in the search database, when chainquery is added this will be possible to do!
We can extend the search api so it resembles a more common example. Right now we only accept 1 parameter which is the search string.
We should have a set of arguments that are defined for advanced search capabilities. For example:
Probably a lot more ways to search but we should be able to have a better api for this. Would love some feedback on an advanced search capability. Knowing what we need or expect will help in designing the best format for the api.
@lyoshenka - Any suggestions here?
@tiger5226 I'm for providing this functionality, but the vast majority of users are going to be used to a single box where they type things and get what they want. I think it's important we prioritize this use-case over advanced searching which is more likely to be for power users.
agreed, not a priority right now
Ok all clear!
So then keeping the same search field for lighthouse we could enhance the field to allow for tags. This also allows the feature to be there before it is released in the app.
so if a user types
![screen shot 2018-03-17 at 12 01 49 pm](https://user-images.githubusercontent.com/3402064/37557440-1afa7216-29db-11e8-9ab8-596421d4b21f.png)
contentType:
followed by a word (or phrase in quotes ) it will create a tag in the app. that appears likecontentType: files
. This lets the user know they are searching only files with that tag. Below is an example of tag system is OSX search.Our tags based on current information in the elastic document are as follows:
controllingClaims: <boolean>
channels: <boolean>
Author: "<phrase>"
Language: <isocode>
ActiveClaim: <boolean>
contentType: <type>
Below is an example elastic document stored in elastic search:
So what we do here is check if the first term in a search query is a keyword for a tag. If so we process it as such. If the next two characters is
"
then we split the string to get phrases associated with the tag. The rest is the search query.We can start off allowing 1 tag, then can extend to allow for n tags.
This should keep it independent of the apps features and allows it to be used straight away.
Tags
Would be possible to read / add
tags
inside description?My proposal would be to let the user add the tags inside the claim description:
Last lineAdd the tags in the last line of the claim description:Not really necessary, see
hash-tags
implementation below:Hash tags
This could be added in any line of the description:
Limit
Also set a limit for tags so users don't abuse the tagging system,
Maybe less than
10
/15
would be ok?App (UX)
We can also add a simple form to attach / add tags for better (UX) inside the publish page:
![image](https://user-images.githubusercontent.com/14793624/37877913-42fdac42-3016-11e8-92ab-471da29eaacd.png)
@btzr-io I understand what you are saying. So previously there was a much greater need to flag search terms or tags as only claim names produced results from the search and discovery. However, massive strides have been made in this area. Now Author, Title and Description are fully searchable. What does this mean? Well it means everything is a
#
. Any word, phrase, prefix and suffix is searchable.I don't see a need for a tagging system like that since we basically already have it now in the background(try searching an obscure term in a claim now 👍 ). However, there could be a use case to provide extra weight to certain search terms created by the community of publishers and are not part of the metadata. This could be abused though via SEO. Common tags could be flooded to get higher in the results. Contrary to that the same can happen now. There has to be a balancing factor. Something that disincentivizes gaming the system. For example, google skyrocketed to number 1 because search wasn't about what web pages contained the most keywords, it was about the relevance of the page too. PageRank was a major boon because it stopped the bad players. The complimentary side of that, is yes terms are good, but how many people who arrive at the claim, stream the content? Or better yet, how many claims were supported? That ratio is what should drive the weight of the tags. So dynamic weights would really help here as well. So we have a set of booster tags, and if the content is good the factor of the boost is increased.
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-field-value-factor
I will leave the UI side to the app developers ( I like your tag better than mine 👍 ).
@tiger5226 or @filipnyquist is this viable to pursue now that chainquery is integrated?
The most immediately useful filter would be filtering by file type.
A lot of @jamesbiller proposed maker community initiatives could really use the ability to filter by file types.
I split out this aspect of filtering into a separate ticket: #111
I believe I missed this comment, but I don't think Chainquery is required here. This has been ready for a while, but it was put on the backburner a while ago because it was not urgent and seen as a power user feature. I like the idea to split out the file type stuff.
done