forem/forem

Add Algolia as a configurable search option (Initial implementation)

benhalpern opened this issue · 1 comments

Is this feature related to a problem? Please describe.

Large Forems (like DEV) can benefit from more advanced search options that one is default available in Postgres — though Postgres should remain the default so functionality works out of the box.

Describe the solution you’d like

  • Make all current searchable models (article, user, organization, tags, comments, podcasts) have all relevant fields indexed by Algolia.
  • Adjust frontend to search directly from the Algolia endpoint when enabled.
  • Add admin configuration to display "powered by Algolia" messaging (specific for DEV since we are working directly with them, does not have to be turned on)

Definition of Done

  • Add ENV variable for all Algolia functionality. Only use when turned on.
  • Add backend indexing on changes
  • Send traffic straight to Algolia endpoint from client
  • Add admin configuration for "Powered by Algolia" message

Additional Context

  • Algolia has a 10k default record size limit. There are workarounds, but V1 we should just cut off content as that should suffice.
  • Once this is in we can add more custom functionality, but step 1 is the integration.

Thanks for the issue, we will take it into consideration! Our team of engineers is busy working on many types of features, please give us time to get back to you.

To our amazing contributors: issues labeled bug are always up for grabs, but for feature requests, please wait until we add a ready for dev before starting to work on it.

If this is a feature request from an external contributor (not core team at Forem), please close the issue and re-post via GitHub Discussions.

To claim an issue to work on, please leave a comment. If you've claimed the issue and need help, please ping @forem-team. The OSS Community Manager or the engineers on OSS rotation will follow up.

For full info on how to contribute, please check out our contributors guide.