Problems enabling Open edX Search

Hello

I am trying to replicate this page into my openedx instance https://www.edx.org/course/? and I believe I need to enable the search engine but I am facing some problems.

I have a fullstack Ironwood installation, I have enabled open edx search following the official guide for Ironwood https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/open-release-ironwood.master/configuration/edx_search.html but it is not working as expected:

In LMS, logged out, when I click in “Explore courses” it sends me to my-site/courses and I get a “Page not found error”. If I enable “COURSES_ARE_BROWSABLE” flag in lms.env.json I get a page that is similar to https://www.edx.org/course but with no content and no possibility of finding any course.

In LMS, logged in, I am able to search for content, but only for course content (not course title or course name)

In CMS. Searching for info, somewhere I found that courses may need to be reindexed, but pressing “Reindex” into a course always generate an error.

Sorry, I believe there are three topics in one, but they all came in when I enable search in Open Edx.

Does anyone have had this problem and have an idea of how to fix it?

Thanks for any help or idea

Regards

1 Like

@Yago, I don’t know that the view on edx.org which you’ve linked is available in the edx-platform.
You can use the /courses/ view which you’ve found however.

The course search shouldn’t be required to show the full courses page you’re mentioning.
You may also try toggling FEATURES["ENABLE_COURSE_DISCOVERY"] in order to populate the list on the /courses/ page. If FEATURES["ENABLE_COURSE_DISCOVERY"] is enabled, but the discovery service isn’t setup correctly, the page will show nothing.

–
Correct, the course search will search through course content, but not course titles or names.

–
Are there errors in the logs related to re-indexing the courses? That may be the cause for having an empty /courses/ page, which you can either fix by disabling the discovery service with the ENABLE_COURSE_DISCOVERY, or by fixing the discovery service.

Thank you very much for your support @joshm, now I see things more clear. It seems my problem is with the Discovery service.

  • When I try to run the catalog through CLI commands as ./manage.py lms cache_programs it gives a Server Error calling to /api/v1/pathways/?exclude_utm=1&page=1. I’ve notice the service depends on the value of COURSE_CATALOG_URL in admin/site/site_configuration. If I put localhost it gives a generic 500 and if I put the server name it throws a Connection Error.

  • When opening /courses/ page, there is a call to /search/course_discovery/ that returns a JSON of empty facets: {"facets": {"org": {"total": 0, "terms": {}, "other": 0}, "modes": {"total": 0, "terms": {}, "other": 0}, "language": {"total": 0, "terms": {}, "other": 0}}, "total": 0, "max_score": null, "took": 2, "results": []}

The problem is that I don’t know how to test the Discovery service further than $ sudo /edx/bin/supervisorctl status (that shows service is RUNNING) and could not find any documentation further than this one that seems to be outdated, as I cannot find the commands provided (neither in /edx/app/edxapp nor /edx/app/discovery).

Thanks for any help

Regards

PD: /courses/ page works like you said, switching off FEATURES["ENABLE_COURSE_DISCOVERY"] shows all the courses, but that is not what I am looking for :frowning: And what a pity we don’t have the page shown in edx.org…

PD2: Finally I managed to enable course reindexing by adding the following values in lms.env.json:

    "COURSE_DISCOVERY_FILTERS": ["org", "language", "modes"],
    "COURSE_DISCOVERY_MEANINGS": {
            "org": {
                    "name": "Organization"
            },
            "modes": {
                    "name": "Course Type",
                    "terms": {
                            "honor": "Honor",
                            "verified": "Verified"
                            }
                    },
            "language": "en"
        },