blurpritn adn site builde cleanup
This commit is contained in:
@@ -80,16 +80,16 @@ class CandidateEngine:
|
||||
|
||||
def _score_candidates(self, content: Content, candidates: List[Content]) -> List[Dict]:
|
||||
"""Score candidates based on relevance"""
|
||||
from igny8_core.business.content.models import ContentClusterMap, ContentTaxonomyMap
|
||||
from igny8_core.business.content.models import ContentClusterMap
|
||||
|
||||
# Stage 3: Get cluster mappings for content
|
||||
content_clusters = set(
|
||||
ContentClusterMap.objects.filter(content=content)
|
||||
.values_list('cluster_id', flat=True)
|
||||
)
|
||||
# Taxonomy matching using Content.taxonomy_terms M2M relationship
|
||||
content_taxonomies = set(
|
||||
ContentTaxonomyMap.objects.filter(content=content)
|
||||
.values_list('taxonomy_id', flat=True)
|
||||
content.taxonomy_terms.values_list('id', flat=True)
|
||||
)
|
||||
|
||||
scored = []
|
||||
@@ -106,10 +106,9 @@ class CandidateEngine:
|
||||
if cluster_overlap:
|
||||
score += 50 * len(cluster_overlap) # High weight for cluster matches
|
||||
|
||||
# Stage 3: Taxonomy matching
|
||||
# Stage 3: Taxonomy matching using M2M relationship
|
||||
candidate_taxonomies = set(
|
||||
ContentTaxonomyMap.objects.filter(content=candidate)
|
||||
.values_list('taxonomy_id', flat=True)
|
||||
candidate.taxonomy_terms.values_list('id', flat=True)
|
||||
)
|
||||
taxonomy_overlap = content_taxonomies & candidate_taxonomies
|
||||
if taxonomy_overlap:
|
||||
|
||||
Reference in New Issue
Block a user