Skip to content

Commit 4ad95b2

Browse files
committed
sort_docs_on for videodb search
1 parent 0ffce62 commit 4ad95b2

3 files changed

Lines changed: 6 additions & 0 deletions

File tree

videodb/_constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class ReframeMode:
4949
class SemanticSearchDefaultValues:
5050
result_threshold = 5
5151
score_threshold = 0.2
52+
sort_docs_on = None
5253

5354

5455
class Segmenter:

videodb/collection.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,7 @@ def search(
468468
score_threshold: Optional[float] = None,
469469
dynamic_score_percentage: Optional[float] = None,
470470
filter: List[Dict[str, Any]] = [],
471+
sort_docs_on: Optional[str] = None,
471472
namespace: Optional[str] = None,
472473
scene_index_id: Optional[str] = None,
473474
) -> Union[SearchResult, RTStreamSearchResult]:
@@ -480,6 +481,7 @@ def search(
480481
:param float score_threshold: Threshold score for the search (optional)
481482
:param float dynamic_score_percentage: Percentage of dynamic score to consider (optional)
482483
:param list filter: Additional metadata filters (optional)
484+
:param str sort_docs_on: Sort docs within each video by "score" or "start" (optional)
483485
:param str namespace: Search namespace (optional, "rtstream" to search RTStreams)
484486
:param str scene_index_id: Filter by specific scene index (optional)
485487
:raise SearchError: If the search fails
@@ -532,6 +534,7 @@ def search(
532534
result_threshold=result_threshold,
533535
score_threshold=score_threshold,
534536
dynamic_score_percentage=dynamic_score_percentage,
537+
sort_docs_on=sort_docs_on,
535538
filter=filter,
536539
)
537540

videodb/search.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ def search_inside_collection(
155155
result_threshold: Optional[int] = None,
156156
score_threshold: Optional[float] = None,
157157
dynamic_score_percentage: Optional[float] = None,
158+
sort_docs_on: Optional[str] = SemanticSearchDefaultValues.sort_docs_on,
158159
**kwargs,
159160
):
160161
search_data = self._connection.post(
@@ -170,6 +171,7 @@ def search_inside_collection(
170171
if result_threshold is not None
171172
else SemanticSearchDefaultValues.result_threshold,
172173
"dynamic_score_percentage": dynamic_score_percentage,
174+
"sort_docs_on": sort_docs_on,
173175
**kwargs,
174176
},
175177
)

0 commit comments

Comments
 (0)