Configure Courseware And Dashboard Search
Enabling Open edX Search
You can add a search feature to your Open edX site so that prospective learners can find courses more easily. When a learner searches for a key word or words, the search feature returns a list of the courses that are currently open for enrollment and that match the entered key words.
This section describes how to enable search in your instance of Open edX.
EdX Search Requirements
Install edX Search
Enable Indexing
Supported Flags
EdX Search Requirements
EdX Search requires the following applications.
Django (edX Platform version)
pyMongo (edX Platform version)
pytz
Django elasticsearch (0.4.5)
Install edX Search
EdX Search is included in Open edX Platform GitHub requirements and is installed automatically when you install the Open edX Platform.
Supported Flags
The following flags are supported in the CMS and LMS applications in order to implement the search bar functionality for the courseware as well as dashboard.
CMS
First we have to Enable Indexing
Set the following flags in studio.yml
vim /edx/etc/studio.yml
You enable course indexing by setting the ENABLE_COURSEWARE_INDEX flag.
# Enable the courseware search functionality
ENABLE_COURSEWARE_INDEX: true
You enable library indexing by setting the ENABLE_LIBRARY_INDEX flag.
# Enable content libraries (modulestore) search functionality
ENABLE_LIBRARY_INDEX: true
Sets the search engine to use.
SEARCH_ENGINE: "search.elastic.ElasticSearchEngine"
LMS
Set the following flags in lms.yml
vim /edx/etc/lms.yml
Enables and disables Courseware Search feature (in course searching).
ENABLE_COURSEWARE_SEARCH: true
ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF: true
Enables and disables Dashboard Search feature (in enrolled courses searching).
ENABLE_DASHBOARD_SEARCH: true
COURSE_DISCOVERY_FILTERS: If provided, overrides the list of facets that are used in the Course Discovery feature to filter the results. By default, all facets will be displayed. The list of available facets includes:
Course organization: "org"
Course type: "modes"
Course language: "language"
Sets the search engine to use.
SEARCH_ENGINE: "search.elastic.ElasticSearchEngine"
Override to skip enrollment start date filtering in course search
SEARCH_SKIP_ENROLLMENT_START_DATE_FILTERING = true
Enable course discovery for the meta data
ENABLE_COURSE_DISCOVERY: true
Restart the Server
sudo /edx/bin/supervisorctl restart all
Courseware Search
Dashboard Search