Search at edX
Background
There are a number of search implementations within edX, all built upon Elasticsearch. This document collects together best practices learned from these different features.
Search Implementations
The following is a list of features that are currently using search.
Feature | Docs | Comments |
---|---|---|
Discussions / Forums |
| |
Course Content Search |
| |
Teams |
| |
Student Notes |
| |
Course Discovery / Catalog |
| |
Learner Analytics |
|
Search Technologies
There are three main technologies that are used by edX:
- Elasticsearch - https://github.com/elastic/elasticsearch
- Haystack - http://haystacksearch.org/
- This library simplifies the process of indexing and searching Django models
- Note: it is not designed for use with Mongo (see the Haystack FAQ)
- edX Search - https://github.com/edx/edx-search
- This is a home grown library on top of Elasticsearch
- It was implemented in order to support searching across the courseware Mongo database
- Notes on search implementation
Additional Proposed Uses
- Bookmarks