Search
Explore the search
repository...
🛠Status: Maintenance Mode | Stable
This project is currently in maintenance mode - users should feel free to continue to use this app and expect bug fixes, but not expect many additional features.
Resonate Search Demo
Stack​
- Mongodb with mongoose and mongoosastic
- Elasticsearch
- Koajs
Models​
- Track
- Profile
- Release
Sync data​
To save/update data into elasticsearch, the following script needs to be ran
babel-node -r ./node_modules/dotenv-safe/config ./src/scripts/migrate run
It's configured to connect to our wordpress db which also have a table for tracks.
Query​
With no minimum query length, fuzzy query is possible. The results will be merged and sorted by score.
Use the 'kind' field to identify the model (track|artist|label|band)
[
{
"kind": "track",
"title": "capitalism crashed",
"display_artist": "AGF",
"album": "capitalism crashed",
"tags": ["experimental"]
}
]
Flow​
st=>start: Search API
e=>end: Return error
query=>operation: Query
cond=>condition: Invalid query?
io=>inputoutput: catch error...
para=>parallel: Search tracks and profiles
response=>end: Return merged results sorted by score
st->query->cond
cond(no)->para
cond(yes)->io->e
para(path1, bottom)->response(right)
para(path2, top)