on master help sign in
[mod] results engines mods
09154c1asciimoo
searx/engines/__init__.py+2−1
@@ -135,6 +135,7 @@ def search(query, request, selected_categories):
135 # deduplication + scoring
135 # deduplication + scoring
136 for i,res in enumerate(flat_res):
136 for i,res in enumerate(flat_res):
137 res['parsed_url'] = urlparse(res['url'])
137 res['parsed_url'] = urlparse(res['url'])
138+ res['engines'] = [res['engine']]
138 score = (flat_len - i)*settings.weights.get(res['engine'], 1)
139 score = (flat_len - i)*settings.weights.get(res['engine'], 1)
139 engines[res['engine']].stats['score_count'] += score
140 engines[res['engine']].stats['score_count'] += score
140 duplicated = False
141 duplicated = False
@@ -149,7 +150,7 @@ def search(query, request, selected_categories):
149 if len(res.get('content', '')) > len(duplicated.get('content', '')):
150 if len(res.get('content', '')) > len(duplicated.get('content', '')):
150 duplicated['content'] = res['content']
151 duplicated['content'] = res['content']
151 duplicated['score'] += score
152 duplicated['score'] += score
152− duplicated['engine'] += ', '+res['engine']
153+ duplicated['engines'].append(res['engine'])
153 if duplicated['parsed_url'].scheme == 'https':
154 if duplicated['parsed_url'].scheme == 'https':
154 continue
155 continue
155 elif res['parsed_url'].scheme == 'https':
156 elif res['parsed_url'].scheme == 'https':