Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

index name

what is it?

indexer

searcher

courseware_content

course content

CoursewareSearchIndexer in platform/cms

/search and perform_search in edx-search

library_index

library content, similar to courseware_content

LibrarySearchIndexer in platform/cms

LibraryToolsService in platform/xmodule

course_info

course about info, maybe this object

CourseAboutSearchIndexer in platform/cms

course_discovery_search and its endpoint in edx-search

content_library_index

library metadata

ContentLibraryIndexer in platform/core/content libraries app

the same indexer, via its parent class get function which is exposed via an API

content_library_block_index

library content

LibraryBlockIndexer in platform/core/content libaries libraries app

the same indexer, via its parent class get function which is exposed via an API

course_team_index

team info but not members

CourseTeamIndexer in platform/lms teams app

Team list view in the same app

...

Doing their own searching means that these indexes can’t use the extension points, but it also means they don’t have to because the filters and results are customized to their particular use case.

One twist on calling this format a best practice: it’s not enabled by default or on edx.org, so unless it has other users it could be completely broken and we wouldn’t know.

So Many Settings

There are minor settings for specific search tweaks I’m going to skip to keep these tables compact.

Most of these settings have different values for test which are not listed here.

edx-search settings

Setting

What is it?

Set to

SEARCH_ENGINE

which engine class to use

search.elastic.ElasticSearchEngine via cms & lms production.py

COURSEWARE_CONTENT_INDEX_NAME, COURSEWARE_INFO_INDEX_NAME

index names

left at code default, could not be changed since the indexer does not know the setting

ELASTIC_SEARCH_*, ELASTIC_FIELD_MAPPINGS

various elasticsearch specific settings

generally set to use version 7 values

SEARCH_RESULT_PROCESSOR, SEARCH_INITIALIZER, SEARCH_FILTER_GENERATOR

expansion points, see above

set to courseware search, LMS specific values in common.py

edx-platform settings

Setting

What is it?

Set to

ENABLE_COURSEWARE_INDEX

index course content at all

false in common.py

true in devstack.py

ENABLE_LIBRARY_INDEX

same for libraries

false in common.py

ENABLE_CONTENT_LIBRARY_INDEX

governs both content_library_index and content_library_block_index

false in common.py

ENABLE_TEAMS

index teams content, this is the general teams feature setting

true in common.py