Search facility
Opened this issue · 5 comments
tjenkinson commented
Probably use something like http://www.elasticsearch.org/
tjenkinson commented
Also have a look at generating a transcript of the video during the processing which can also be indexed for searching.
tjenkinson commented
- add flag to
media_items
table "pending_search_index_version" which should be an integer which is incremented by 1 every time something changes that should result in the item being reindexed (or removed from the index in the case of it becoming inaccessible). - add flag to
media_items
table "current_search_index_version" which should be set to the version number of the content that is currently indexed. This means if these 2 numbers are ever different the item should be indexed/reindexed/unindexed. - add flag to
playlists
table "pending_search_index_version" - add flag to
playlists
table "current_search_index_version" - add flag to
shows
table "pending_search_index_version" - add flag to
shows
table "current_search_index_version"
There will be the following types:
mediaItem
{
id: <id>,
name: <name>,
description: <description>,
scheduledPublishTime: <publish time>,
playlists: [{
generatedName: <name of item when in this playlist>,
coverArtUri: <cover art uri for item when in this playlist>,
url: <url to this item>,
playlist: {
id: <id>,
name: <name>,
description: <description>,
coverArtUri: <cover art uri>,
scheduledPublishTime: <publish time>,
seriesNo: <series number>,
url: <url to this playlist>,
show: {
id: <id>,
name: <name>,
description: <description>,
url: <url to this show>
}
}
}]
}
playlist
{
id: <id>,
name: <name>,
description: <description>,
coverArtUri: <cover art uri>,
scheduledPublishTime: <publish time>,
seriesNo: <series number>,
url: <url to this playlist>,
show: {
id: <id>,
name: <name>,
description: <description>,
url: <url to this show>
}
}
show
{
id: <id>,
name: <name>,
description: <description>,
url: <url to this show>
}
tjenkinson commented
Back end store work now completed
#644
tjenkinson commented
Search is now available on desktops (#656 #657)
TODO
- Add "type ahead" support so that it suggests the rest of what you're typing
- Create "/search" page which is dedicated just to search and works on mobile as well as desktop
- Figure out how to advertise this page so that things like chrome's inline search from the address bar can be compatible with it
- When the resolution is below the resolution which enables the search dialog the search button on the nav bar should link to the new search page
- Custom playlist and show urls should also go into the index
- Chapter names should go in the index.
- The publish time should be taken into consideration so that more recent results generally appear first
- Report search terms to google analytics