Skip to content
Mohamed El Mahallawy edited this page Sep 1, 2018 · 1 revision

Did a quick research project on whether we should use Algolia vs our own ES. Here are some notes:

  1. We index on the verse and nest translations, transliterations and words. This is great for us because we want to surface the best matched verse based on the quality of results in the nested objects. For example, 'Noah' would be best represented by a verse where it's in all the translations, transliteration, and words. Algolia has a limit of 10kb/recourd that prevented me from nesting as many objects
  2. Indexing translations, transliterations and verses separately, then do a multi-index search. While that makes sense, Algolia does not compete the matches between the indexes. If I search 'Noah', it will return the best results for Noah in translation index, in transliteration index, etc. and not the best results between all indices.
  3. Grouping is a pain. Algolia treats grouping as individual records with a sequence field on the results. For example, if you wish to group 3 records based on verse id, it will return 30 records for 10 results per page. Each set of 3 records is a group. Thus, we have to group them manually.
  4. I love many of their options and how easy it is to configure them on their website. Instantly, we can have typo tolerance, etc.
  5. I love their analytics, their query rules, but maybe we can get some of this from a hosted ES instance with AWS.
  6. I love that we can view the records easily on their website
Clone this wiki locally