You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add Meilisearch-compatible search engine with tests (#164)
The goal of this change is to introduce a search engine that is
compatible with the edx-search API but that uses Meilisearch instead of
Elasticsearch. That way, we can replace one by the other across
edx-platform by simply changing a single SEARCH_ENGINE django setting.
There are a couple of differences between Meilisearch and Elasticsearch:
1. Filterable attributes must be defined explicitly.
2. No support for datetime objects, which must be converted to
timestamps (with an extra field to store the timezone).
3. No special characters allowed in the primary key values, such that we
must hash course IDs before we can use them as primary key values.
Note that this PR does not introduce any breaking change. This is an
opt-in engine that anyone is free to use. There is some setup work for
every search feature: see the engine module documentation for more
information.
See the corresponding conversation here:
openedx/frontend-app-authoring#1334 (comment)
* fix: `make test` command
Unit test command was failing because manage.py was pointing to an
incorrect module by default.
* feat: add convenient "make compile-requirements" command
This command makes it possible to compile requirements without upgrading
them. Note that the `make upgrade` command still works with this change.
---------
Co-authored-by: Régis Behmo <[email protected]>
0 commit comments