dwyl / technology-stack

🚀 Detailed description + diagram of the Open Source Technology Stack we use for dwyl projects.
286 stars 26 forks source link

How do you choose the right search tool? #134

Open Cleop opened 1 year ago

Cleop commented 1 year ago

I can see from the README that Elasticsearch is your proposed search tool. I am currently researching a new search tool for an e-commerce platform and wanting to learn about the good, the bad and the ugly of what's on offer.

The things I'm considering are:

And this is where wading through 3rd parties starts to get a bit tougher because of the number of buzzwords out there and everyone trademarking their own 'unique' algorithm 🤯

Typesense have created this lovely feature comparison table which is the clearest representation I've seen so far.

It says of Elasticsearch:

Elasticsearch is a large piece of software, that takes non-trivial amount of effort to setup, administer, scale and fine-tune. It offers you a few thousand configuration parameters to get to your ideal configuration. So it's better suited for large teams who have the bandwidth to get it production-ready, regularly monitor it and scale it, especially when they have a need to store billions of documents and petabytes of data (eg: logs).

I've looked a little into Klevu, Constructor.io, Algolia and Typesense.

The questions in my head are:

Any thoughts on any of the above would be greatly appreciated to help me choose the right search tool. I think that vector search certainly seems to offer some interesting potential for new features for the e-commerce site. However, with companies making their pricing so opaque, I'm trying to discern how much is worth paying for and what that cost will be!

@nelsonic, @SimonLab, @RobStallion, @samhstn, don't suppose you've got any thoughts on this one?

Cleop commented 1 year ago

Our focus is zooming in on Algolia, Constructor.io and Typesense. I will add more details on analysis when I'm able.

Cleop commented 1 year ago

Our feature analysis led us to the following conclusions:

Klevu's search capabilities seemed behind the other companies mentioned. Whilst they claimed to utilise AI and perform natural language processing they made no indication of having a data model from which they mapped their vectors/ nearest neighbours. And when testing one of their customer's site I found several poorly performing searches. It was a clothes site and 'shorts' appeared before 'chinos' or 'joggers' in a search for 'trousers'. The site had a visor hat, but when I searched for 'hat' the visor did not show up. I played around with a few examples and these kinds of flaws showed up several times.

nelsonic commented 2 months ago

@Cleop did you end up using Typesense? 💭