diff --git a/oscar_elasticsearch/search/mappings/products/mappings.py b/oscar_elasticsearch/search/mappings/products/mappings.py index 049fb10..cfb444d 100644 --- a/oscar_elasticsearch/search/mappings/products/mappings.py +++ b/oscar_elasticsearch/search/mappings/products/mappings.py @@ -73,7 +73,7 @@ def priority(self, priority): if ( not self.source.is_available_to_buy and settings.PRIORITIZE_AVAILABLE_PRODUCTS - ): + ) or (not self.source.images and settings.PRIORITIZE_PRODUCTS_WITH_IMAGES): return -1 return priority diff --git a/oscar_elasticsearch/search/settings.py b/oscar_elasticsearch/search/settings.py index 953feb9..e1d41cb 100644 --- a/oscar_elasticsearch/search/settings.py +++ b/oscar_elasticsearch/search/settings.py @@ -140,3 +140,7 @@ PRIORITIZE_AVAILABLE_PRODUCTS = getattr( settings, "OSCAR_ELASTICSEARCH_PRIORITIZE_AVAILABLE_PRODUCTS", True ) + +PRIORITIZE_PRODUCTS_WITH_IMAGES = getattr( + settings, "OSCAR_ELASTICSEARCH_PRIORITIZE_PRODUCTS_WITH_IMAGES", True +)