4 ms·
A problem close to my heart. Good search is certainly still too difficult to pull off for small teams, and this was one of my motivations for building and open
by karterk 5y ago
A problem close to my heart. Good search is certainly still too difficult to pull off for small teams, and this was one of my motivations for building and open sourcing Typesense[1].
Most people think of search and immediately think of large data sets, but the problems that plague smaller datasets are equally interesting. It's less about performance and more about relevance. For e.g. searching across multiple fields for a compound query like "taylor swift style", requires breaking the query into segments (taylor swift | style) before searching for the appropriate fields. There are also a class of problems that traditional search engines that rely on BM25 or TF-IDF for ranking cannot reliably solve (e.g. searching on small texts like titles) where you have to consider distance between matching words (which TF-IDF and BM25 miss). Lastly, there is also personalization which is almost always left as an exercise to the reader :)
[1]: https://github.com/typesense/typesense https://github.com/typesense/typesense
- carlreid 5y agoTypesense has been great for us so far. Easy to set up, works great with the simple queries that we need. Lots of great additional functionality on top of search, for example security, with scoped API keys and the likes that we're looking forward to making use of.
- karterk 5y agoThank you for your kind words. We are just getting started :)
- jimmyvalmer 5y agoThis phrase "Thank you for your kind words" has in the last 1-2 years become the standard way people used to just say "Thanks". It sounds so cringey and mawkish.
- slimsag 5y agoAs a long time lurker of your work, and someone who works on a fair number of search engines myself - I'm curious, how well does TypeSense handle code search (punctuation, etc.)?
- karterk 5y agoFinally added support for indexing and/or separating on specific symbols in the ongoing pre-release builds. With that, I think Typesense should be able to handle code search, but I have never tried to index and search on code myself :)
- slimsag 5y agoCool! I’d be keen to try it out sometime if you have docs on how I’d get it to index specific symbols
- karterk 5y agoYes, please see here: https://github.com/typesense/typesense/issues/122#issuecomment-907468036 https://github.com/typesense/typesense/issues/122#issuecomme... The latest RC build is `0.22.0.rcs18`.
- AtNightWeCode 5y agoFor sure it depends on the quality of data and the target of the service. Basic knowledge in Elastic search will beat Google for confined data sets. Major search engines have grown to the size where it is theoretical more beneficial to train a model and then query that model. In theory this will win but in the real world this will not work as we already can see with the failing Google search engine.
- remram 5y agoA limitation of TypeSense, and a lot of alternatives, is that they don't really work on Windows. TypeSense looks good for embedded situations (ie. inside an app) except it won't run on Windows.
- jabo 5y agoWe don't publish a native Windows binary mainly due to the effort involved. However, I've heard from a couple of users that they've been able to use the Docker build or WSL to run the Linux binary on Windows machines.
- remram 5y agoYeah I can't require users to set up Docker or WSL before running my application.
- XCSme 5y agoWait, so this means I can not test it locally on my Windows machine?