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

@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"
        },