mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-08 05:39:13 +00:00
Only return requested result count even if search in multiple content types
- Set results_count to default value at start so it is an int, never None
This commit is contained in:
@@ -155,7 +155,7 @@ async def search(
|
|||||||
|
|
||||||
# initialize variables
|
# initialize variables
|
||||||
user_query = q.strip()
|
user_query = q.strip()
|
||||||
results_count = n
|
results_count = n or 5
|
||||||
score_threshold = score_threshold if score_threshold is not None else -math.inf
|
score_threshold = score_threshold if score_threshold is not None else -math.inf
|
||||||
search_futures: List[concurrent.futures.Future] = []
|
search_futures: List[concurrent.futures.Future] = []
|
||||||
|
|
||||||
@@ -296,15 +296,15 @@ async def search(
|
|||||||
image_names=state.model.image_search.image_names,
|
image_names=state.model.image_search.image_names,
|
||||||
output_directory=output_directory,
|
output_directory=output_directory,
|
||||||
image_files_url="/static/images",
|
image_files_url="/static/images",
|
||||||
count=results_count or 5,
|
count=results_count,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
hits, entries = await search_future.result()
|
hits, entries = await search_future.result()
|
||||||
# Collate results
|
# Collate results
|
||||||
results += text_search.collate_results(hits, entries, results_count or 5)
|
results += text_search.collate_results(hits, entries, results_count)
|
||||||
|
|
||||||
# Sort results across all content types
|
# Sort results across all content types and take top results
|
||||||
results.sort(key=lambda x: float(x.score), reverse=True)
|
results = sorted(results, key=lambda x: float(x.score), reverse=True)[:results_count]
|
||||||
|
|
||||||
# Cache results
|
# Cache results
|
||||||
state.query_cache[query_cache_key] = results
|
state.query_cache[query_cache_key] = results
|
||||||
|
|||||||
Reference in New Issue
Block a user