Describe your use case
Users need flexible ways to sort search results based on different criteria. Currently, PowerMem returns results with relevance scores, but users might want to:
- Sort by recency (newest first)
- Sort by importance score
- Sort by access frequency
- Sort by Ebbinghaus retention score
- Combine multiple sorting criteria (e.g., relevance first, then by date)
Describe the solution you'd like
Extend the search method to support multiple sorting options:
-
Sorting modes:
relevance (default, current behavior)
date_asc / date_desc (by creation/update time)
importance_asc / importance_desc (by importance score)
access_count_desc (by number of times accessed)
retention_desc (by Ebbinghaus retention score)
custom (user-defined sorting function)
-
Multi-criteria sorting:
- Primary and secondary sort keys
- Example: Sort by relevance, then by date for ties
-
API enhancement:
results = memory.search(
"query",
user_id="user123",
sort_by="date_desc", # or ["relevance", "date_desc"]
limit=20
)
The solution should:
- Maintain backward compatibility (default to relevance sorting)
- Be efficient (use database-level sorting when possible)
- Support all existing search features (filters, scopes, etc.)
- Document sorting behavior clearly
Describe alternatives you've considered
No response
Additional context
No response
Describe your use case
Users need flexible ways to sort search results based on different criteria. Currently, PowerMem returns results with relevance scores, but users might want to:
Describe the solution you'd like
Extend the
searchmethod to support multiple sorting options:Sorting modes:
relevance(default, current behavior)date_asc/date_desc(by creation/update time)importance_asc/importance_desc(by importance score)access_count_desc(by number of times accessed)retention_desc(by Ebbinghaus retention score)custom(user-defined sorting function)Multi-criteria sorting:
API enhancement:
The solution should:
Describe alternatives you've considered
No response
Additional context
No response