Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions course_discovery/apps/course_metadata/algolia_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,10 @@ def delegate_attributes(cls):

product_type_fields = ['product_type']
search_fields = ['partner_names', 'partner_keys', 'product_title', 'product_source', 'primary_description',
'secondary_description', 'tertiary_description']
'secondary_description', 'tertiary_description', 'product_b2c_subscription_inclusion']
facet_fields = ['availability_level', 'subject_names', 'levels', 'active_languages', 'staff_slugs',
'product_allowed_in', 'product_blocked_in', 'learning_type', 'learning_type_exp',
'product_ai_languages', 'b2c_subscription_inclusion']
'product_ai_languages', 'product_b2c_subscription_inclusion']
ranking_fields = ['availability_rank', 'product_recent_enrollment_count', 'promoted_in_spanish_index',
'product_value_per_click_usa', 'product_value_per_click_international',
'product_value_per_lead_usa', 'product_value_per_lead_international']
Expand All @@ -93,7 +93,7 @@ def delegate_attributes(cls):
'product_organization_short_code_override', 'product_organization_logo_override', 'skills',
'product_meta_title', 'product_display_on_org_page', 'product_external_url',
'contentful_fields', 'subscription_eligible', 'subscription_prices', 'product_key',
'product_marketing_video_url', 'b2c_subscription_inclusion']
'product_marketing_video_url', 'product_b2c_subscription_inclusion']
object_id_field = ['custom_object_id', ]
fields = product_type_fields + search_fields + facet_fields + ranking_fields + result_fields + object_id_field
for field in fields:
Expand Down Expand Up @@ -187,6 +187,10 @@ def product_marketing_url(self):
def product_recent_enrollment_count(self):
return self.recent_enrollment_count

@property
def product_b2c_subscription_inclusion(self):
return self.b2c_subscription_inclusion

Comment on lines +190 to +193
# For product_value_per_*, return default values if in_year_value is None to ensure that products don't get lost
# in the ranking
@property
Expand Down
14 changes: 8 additions & 6 deletions course_discovery/apps/course_metadata/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,14 @@ class EnglishProductIndex(BaseProductIndex):

search_fields = (('product_title', 'title'), ('partner_names', 'partner'), 'partner_keys', 'product_source',
'primary_description', 'secondary_description', 'tertiary_description', 'tags',
'b2c_subscription_inclusion')
('product_b2c_subscription_inclusion', 'b2c_subscription_inclusion'))
facet_fields = (('availability_level', 'availability'), ('subject_names', 'subject'), ('levels', 'level'),
('active_languages', 'language'), ('product_type', 'product'), ('program_types', 'program_type'),
('staff_slugs', 'staff'), ('product_allowed_in', 'allowed_in'),
('product_blocked_in', 'blocked_in'), 'subscription_eligible',
'subscription_prices', 'learning_type', 'learning_type_exp',
('product_ai_languages', 'ai_languages'), 'b2c_subscription_inclusion')
('product_ai_languages', 'ai_languages'),
('product_b2c_subscription_inclusion', 'b2c_subscription_inclusion'))
ranking_fields = ('availability_rank', ('product_recent_enrollment_count', 'recent_enrollment_count'),
('product_value_per_click_usa', 'value_per_click_usa'),
('product_value_per_click_international', 'value_per_click_international'),
Expand All @@ -98,7 +99,7 @@ class EnglishProductIndex(BaseProductIndex):
('product_external_url', 'external_url'), 'active_run_key',
'active_run_start', 'active_run_type', 'owners', 'course_titles', 'tags',
'skills', 'contentful_fields', 'product_key', 'product_marketing_video_url',
'b2c_subscription_inclusion')
('product_b2c_subscription_inclusion', 'b2c_subscription_inclusion'))

# Algolia needs this
object_id_field = (('custom_object_id', 'objectID'), )
Expand Down Expand Up @@ -135,13 +136,14 @@ class SpanishProductIndex(BaseProductIndex):

search_fields = (('product_title', 'title'), ('partner_names', 'partner'), 'partner_keys', 'product_source',
'primary_description', 'secondary_description', 'tertiary_description', 'tags',
'b2c_subscription_inclusion')
('product_b2c_subscription_inclusion', 'b2c_subscription_inclusion'))
facet_fields = (('availability_level', 'availability'), ('subject_names', 'subject'), ('levels', 'level'),
('active_languages', 'language'), ('product_type', 'product'), ('program_types', 'program_type'),
('staff_slugs', 'staff'), ('product_allowed_in', 'allowed_in'),
('product_blocked_in', 'blocked_in'), 'subscription_eligible',
'subscription_prices', 'learning_type', 'learning_type_exp',
('product_ai_languages', 'ai_languages'), 'b2c_subscription_inclusion')
('product_ai_languages', 'ai_languages'),
('product_b2c_subscription_inclusion', 'b2c_subscription_inclusion'))
ranking_fields = ('availability_rank', ('product_recent_enrollment_count', 'recent_enrollment_count'),
('product_value_per_click_usa', 'value_per_click_usa'),
('product_value_per_click_international', 'value_per_click_international'),
Expand All @@ -157,7 +159,7 @@ class SpanishProductIndex(BaseProductIndex):
('product_external_url', 'external_url'), 'active_run_start',
'active_run_type', 'owners', 'course_titles', 'tags', 'skills',
'contentful_fields', 'product_key', 'product_marketing_video_url',
'b2c_subscription_inclusion')
('product_b2c_subscription_inclusion', 'b2c_subscription_inclusion'))

# Algolia uses objectID as unique identifier. Can't use straight uuids because a program and a course could
# have the same one, so we add 'course' or 'program' as a prefix
Expand Down
Loading