How do you choose the right search tool?

Open
#134 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Documentation
Clarity
Needs clarification
Activity status
Stale
Tech stack
elasticsearch
Domain
search

Research direction

Start by reading the README section that recommends Elasticsearch and the linked feature comparison table. Review the listed search tools against the stated e-commerce criteria; done would require an agreed recommendation or a concrete README update, neither of which the issue currently specifies.

Written by the indexing model from the issue text.

Description

question

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:

  • it can be paid for (but I will be weighing up value for money)
  • it needs to be future-proof (ideally we don't want to replace this again in a few years time!)
  • it needs to be relatively quick to set up (2-3 months) and not require large amounts of ongoing support
  • it needs to have a business-facing UI so that merchandisers etc. can add new filters etc. without requiring an engineer
  • it needs to offer a great user experience e.g. synonym detection, typo tolerance, personalisation of search results etc.

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:

  • Is end to end vector search really worth paying for? (rather than keyword search)
  • What makes these companies different from one another?

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?

Dominant language
JavaScript
Stars
291
Forks
25
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dwyl/technology-stack

All issues in dwyl/technology-stack

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.