Execute a query, routing by query count. A single (or vector-less) query is sent to C++ as a ``_SearchQuery``; multiple queries are assembled into a ``_MultiQuery``.
(self, ctx: QueryContext, collection: _Collection)
| 119 | ] |
| 120 | |
| 121 | def execute(self, ctx: QueryContext, collection: _Collection) -> DocList: |
| 122 | """Execute a query, routing by query count. |
| 123 | |
| 124 | A single (or vector-less) query is sent to C++ as a ``_SearchQuery``; |
| 125 | multiple queries are assembled into a ``_MultiQuery``. |
| 126 | """ |
| 127 | queries = self._build_queries(ctx, collection) |
| 128 | if not queries: |
| 129 | raise ValueError("No query to execute") |
| 130 | |
| 131 | if len(queries) == 1: |
| 132 | return self._execute_single_query(queries[0], collection) |
| 133 | return self._execute_multi_query(ctx, queries, collection) |
| 134 | |
| 135 | def _execute_single_query( |
| 136 | self, query: _SearchQuery, collection: _Collection |
no test coverage detected