Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A journey through search

A journey through search

Together, we will explore and compare how various search engines perform on a production database with over 200 thousand products, analyse the pros and cons of each one and dive into Trouva's unique search architecture. Databases and search engines covered: MongoDB, ElasticSearch, Algolia.

Michael Schinis

November 18, 2017
Tweet

Other Decks in Technology

Transcript

  1. MongoDB - Used for persistency, long term storage - Index

    easy to set-up and simple to understand 
 weighted attributes - Open source - Only one index per mongo collection - Can only run full-text search on full words - Input throughput can be greatly impacted because
 Mongo needs to add an index entry for each word
 in each indexed field in each document Pros Cons
  2. Elastic Search Pros - Great performance - Highly scalable because

    of sharding design - Allows to build custom ranking algorithm to build
 complex formulas - Open source Cons - Takes time and effort to tweak the ranking algorithm.
 Creates a continuous feedback loop between business operations and tech teams. Leads to wasted time. - All data indexed by default, leads to large index 
 overhead
  3. Algolia Pros - Easy to set-up - Blazing fast, no-matter

    how many indices, data
 or searchable attributes - Scalable & worry free. - Choose regions, let Algolia worry about replicating data. - Interface allows easy modification of ranking formula.
 Saves time, tweaking formula. Cons - Closed system