Show HN: Self-Hostable Algolia DocSearch Replacement (github.com)
Interactive demo:
https://getcanary.dev/docs/cloud/demo
Canary works with local search indexes like Pagefind too: https://getcanary.dev/docs/local/demo
For both demo, you'll find small "code" tab to see actual code to build the search UI.
Self-hosting guide: https://getcanary.dev/docs/cloud/self-host
Would love to hear any feedback!
43 comments
[ 5.0 ms ] story [ 94.5 ms ] thread1. All UI components are written using Lit (lit.dev).
2. I put a lot of effort into making the components as composable as possible, so you can load only what you need.
For anyone interested, we have a chart here: https://getcanary.dev/docs/why#tiny-components-that-work-any...
just FYI - i's very easy to implement custom modal component and swap out the default one.
https://github.com/fastrepl/canary/blob/72723b0/js/apps/docs...
https://github.com/wizenheimer/tinkerbird
[0]: https://tinkerboard.vercel.app/
I will give it a try, impressive compression
please do try it out, and come to Discord if you want to chat.
It's really useful to be able to specify the search space for a specific query (example: Canary allows search for the query "sagemaker" on our docs or on our github issues )
agreed.
> but can we please find a way to bring back search _pages_?
could you please explain what do you mean?
I'm used to Solr and ElasticSearch for most sites I've ran, which tend to be information sites dense where you need to be able to control rankings to get the best results, which HN is much closer to than to an e-commerce site.
> Have been looking for a way to mock the service in development
This is what I wanted too! So we have multiple providers, including `canary-provider-mock`. So you can use it to mock it in the dev.
example:
https://github.com/noxify/renoun-docs-template/blob/055b54/s...
e.g:
if you go to 'https://docs.litellm.ai/' and search for 'how to limit API cost,' it will map the query to 'budget.'
in the self-hosted version, it use the CHAT_COMPLETION_MODEL env variable for selecting the llm model. in our cloud version, we use a fine-tuned version of 4o-mini that we will eventually move to a smaller model like llama8b or even 1b.
If you want pagefind-based local search:
Doc: https://getcanary.dev/docs/local/integrations/docusaurus Example PR: https://github.com/microsoft/fast/pull/7031/files
If you want hosted-search: Doc: https://getcanary.dev/docs/cloud/integrations/docusaurus Example PR: https://github.com/BerriAI/litellm/pull/6160/files