hermes-client-python 1.8.124__tar.gz → 1.8.128__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/PKG-INFO +61 -1
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/README.md +60 -0
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/pyproject.toml +1 -1
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/src/hermes_client_python/__init__.py +16 -0
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/src/hermes_client_python/client.py +155 -2
- hermes_client_python-1.8.128/src/hermes_client_python/hermes_pb2.py +206 -0
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/src/hermes_client_python/types.py +75 -0
- hermes_client_python-1.8.124/src/hermes_client_python/hermes_pb2.py +0 -172
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/.gitignore +0 -0
- {hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/src/hermes_client_python/hermes_pb2_grpc.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: hermes-client-python
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.128
|
|
4
4
|
Summary: Async Python client for Hermes search server
|
|
5
5
|
Project-URL: Homepage, https://github.com/SpaceFrontiers/hermes
|
|
6
6
|
Project-URL: Repository, https://github.com/SpaceFrontiers/hermes
|
|
@@ -277,3 +277,63 @@ uv run --group dev python generate_proto.py
|
|
|
277
277
|
## License
|
|
278
278
|
|
|
279
279
|
MIT
|
|
280
|
+
|
|
281
|
+
## Ranking diagnostics and recall traces
|
|
282
|
+
|
|
283
|
+
Both options default to false and preserve the requested ranking:
|
|
284
|
+
|
|
285
|
+
```python
|
|
286
|
+
response = await client.search(
|
|
287
|
+
"articles",
|
|
288
|
+
query={
|
|
289
|
+
"fusion": {
|
|
290
|
+
"queries": [
|
|
291
|
+
{
|
|
292
|
+
"name": "title",
|
|
293
|
+
"query": {"match": {"field": "title", "text": "rust"}},
|
|
294
|
+
},
|
|
295
|
+
{"name": "body", "query": {"match": {"field": "body", "text": "rust"}}},
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
include_rrf_scores=True,
|
|
300
|
+
tracing=True,
|
|
301
|
+
)
|
|
302
|
+
for hit in response.hits:
|
|
303
|
+
print(hit.score, hit.rrf_score, hit.rrf_contributions)
|
|
304
|
+
for shard in response.trace.shards:
|
|
305
|
+
for branch in shard.queries:
|
|
306
|
+
print(shard.shard_id, branch.query_name, branch.candidates)
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
`rrf_score` and per-branch votes use organic nomination ranks merged across all
|
|
310
|
+
shards, independently of L1 or reranker scores. Ranks start at 1. `ordinal=None`
|
|
311
|
+
is document context; ordinal 0 is a real passage. Backfilled and score-only
|
|
312
|
+
features contribute no votes.
|
|
313
|
+
|
|
314
|
+
The trace retains every shard's bounded branch nominations and selected results,
|
|
315
|
+
including candidates absent from the final page, plus query trees and common
|
|
316
|
+
filters. Candidates contain addresses, raw scores and ordinals; stored fields
|
|
317
|
+
are loaded only for returned hits. Tracing does not expand retrieval depth or
|
|
318
|
+
rerun individual Boolean clauses. Oversized diagnostics and unsupported backends
|
|
319
|
+
fail explicitly. See the [scoring and tracing contract](../docs/candidate-rescoring.md).
|
|
320
|
+
|
|
321
|
+
For a named, scoped L1 query, specify the complete scoring formula:
|
|
322
|
+
|
|
323
|
+
```python
|
|
324
|
+
l1 = {"formula": "0.2 * title + 0.8 * log1p(body) + 3 * rrf"}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
`formula` is the only L1 scoring interface. Coefficients, offsets and RRF
|
|
328
|
+
multipliers go in the expression; the former coefficient fields are removed.
|
|
329
|
+
Arithmetic, powers, logarithms, `sqrt`, `abs`, `exp`, `min`/`max` and trigonometry
|
|
330
|
+
are supported. Use `{body.bm25}` for punctuated branch names. `log` and `ln` are
|
|
331
|
+
natural logarithms; `log2` and `log10` select those bases. Missing branch values
|
|
332
|
+
use configured missing defaults, otherwise zero. Backfill remains optional.
|
|
333
|
+
|
|
334
|
+
The formula runs before passage selection and the document combiner. A formula
|
|
335
|
+
using `rrf` makes the broker obtain the complete bounded candidate and passage
|
|
336
|
+
union before global inference. Exports that exceed budgets fail explicitly.
|
|
337
|
+
Expressions are bounded to 4 KiB, 256 tokens and 32 parenthesis levels. Invalid
|
|
338
|
+
variables, invalid syntax and non-finite predictions fail explicitly. Servers
|
|
339
|
+
and brokers must support `formula_v1` (`candidate_scoring_version=3`).
|
|
@@ -253,3 +253,63 @@ uv run --group dev python generate_proto.py
|
|
|
253
253
|
## License
|
|
254
254
|
|
|
255
255
|
MIT
|
|
256
|
+
|
|
257
|
+
## Ranking diagnostics and recall traces
|
|
258
|
+
|
|
259
|
+
Both options default to false and preserve the requested ranking:
|
|
260
|
+
|
|
261
|
+
```python
|
|
262
|
+
response = await client.search(
|
|
263
|
+
"articles",
|
|
264
|
+
query={
|
|
265
|
+
"fusion": {
|
|
266
|
+
"queries": [
|
|
267
|
+
{
|
|
268
|
+
"name": "title",
|
|
269
|
+
"query": {"match": {"field": "title", "text": "rust"}},
|
|
270
|
+
},
|
|
271
|
+
{"name": "body", "query": {"match": {"field": "body", "text": "rust"}}},
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
include_rrf_scores=True,
|
|
276
|
+
tracing=True,
|
|
277
|
+
)
|
|
278
|
+
for hit in response.hits:
|
|
279
|
+
print(hit.score, hit.rrf_score, hit.rrf_contributions)
|
|
280
|
+
for shard in response.trace.shards:
|
|
281
|
+
for branch in shard.queries:
|
|
282
|
+
print(shard.shard_id, branch.query_name, branch.candidates)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
`rrf_score` and per-branch votes use organic nomination ranks merged across all
|
|
286
|
+
shards, independently of L1 or reranker scores. Ranks start at 1. `ordinal=None`
|
|
287
|
+
is document context; ordinal 0 is a real passage. Backfilled and score-only
|
|
288
|
+
features contribute no votes.
|
|
289
|
+
|
|
290
|
+
The trace retains every shard's bounded branch nominations and selected results,
|
|
291
|
+
including candidates absent from the final page, plus query trees and common
|
|
292
|
+
filters. Candidates contain addresses, raw scores and ordinals; stored fields
|
|
293
|
+
are loaded only for returned hits. Tracing does not expand retrieval depth or
|
|
294
|
+
rerun individual Boolean clauses. Oversized diagnostics and unsupported backends
|
|
295
|
+
fail explicitly. See the [scoring and tracing contract](../docs/candidate-rescoring.md).
|
|
296
|
+
|
|
297
|
+
For a named, scoped L1 query, specify the complete scoring formula:
|
|
298
|
+
|
|
299
|
+
```python
|
|
300
|
+
l1 = {"formula": "0.2 * title + 0.8 * log1p(body) + 3 * rrf"}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
`formula` is the only L1 scoring interface. Coefficients, offsets and RRF
|
|
304
|
+
multipliers go in the expression; the former coefficient fields are removed.
|
|
305
|
+
Arithmetic, powers, logarithms, `sqrt`, `abs`, `exp`, `min`/`max` and trigonometry
|
|
306
|
+
are supported. Use `{body.bm25}` for punctuated branch names. `log` and `ln` are
|
|
307
|
+
natural logarithms; `log2` and `log10` select those bases. Missing branch values
|
|
308
|
+
use configured missing defaults, otherwise zero. Backfill remains optional.
|
|
309
|
+
|
|
310
|
+
The formula runs before passage selection and the document combiner. A formula
|
|
311
|
+
using `rrf` makes the broker obtain the complete bounded candidate and passage
|
|
312
|
+
union before global inference. Exports that exceed budgets fail explicitly.
|
|
313
|
+
Expressions are bounded to 4 KiB, 256 tokens and 32 parenthesis levels. Invalid
|
|
314
|
+
variables, invalid syntax and non-finite predictions fail explicitly. Servers
|
|
315
|
+
and brokers must support `formula_v1` (`candidate_scoring_version=3`).
|
{hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/src/hermes_client_python/__init__.py
RENAMED
|
@@ -8,18 +8,26 @@ from .types import (
|
|
|
8
8
|
BinaryDenseVectorQuery,
|
|
9
9
|
BooleanQuery,
|
|
10
10
|
BoostQuery,
|
|
11
|
+
CandidateScores,
|
|
11
12
|
Combiner,
|
|
12
13
|
DenseVectorQuery,
|
|
13
14
|
DocAddress,
|
|
14
15
|
Document,
|
|
16
|
+
FusionCandidate,
|
|
17
|
+
FusionCandidateList,
|
|
15
18
|
IndexInfo,
|
|
16
19
|
MatchQuery,
|
|
17
20
|
OrdinalScore,
|
|
21
|
+
PassageScores,
|
|
22
|
+
QueryTrace,
|
|
18
23
|
RangeQuery,
|
|
19
24
|
Reranker,
|
|
25
|
+
RrfContribution,
|
|
20
26
|
SearchHit,
|
|
21
27
|
SearchResponse,
|
|
22
28
|
SearchTimings,
|
|
29
|
+
SearchTrace,
|
|
30
|
+
ShardSearchTrace,
|
|
23
31
|
SparseVectorQuery,
|
|
24
32
|
TermQuery,
|
|
25
33
|
VectorFieldStats,
|
|
@@ -32,6 +40,14 @@ __all__ = [
|
|
|
32
40
|
"BooleanQuery",
|
|
33
41
|
"BoostQuery",
|
|
34
42
|
"Combiner",
|
|
43
|
+
"CandidateScores",
|
|
44
|
+
"FusionCandidate",
|
|
45
|
+
"FusionCandidateList",
|
|
46
|
+
"PassageScores",
|
|
47
|
+
"RrfContribution",
|
|
48
|
+
"QueryTrace",
|
|
49
|
+
"SearchTrace",
|
|
50
|
+
"ShardSearchTrace",
|
|
35
51
|
"DenseVectorQuery",
|
|
36
52
|
"DocAddress",
|
|
37
53
|
"Document",
|
{hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/src/hermes_client_python/client.py
RENAMED
|
@@ -11,18 +11,27 @@ from collections.abc import AsyncIterator
|
|
|
11
11
|
from typing import Any
|
|
12
12
|
|
|
13
13
|
import grpc
|
|
14
|
+
from google.protobuf.json_format import MessageToDict
|
|
14
15
|
from grpc import aio
|
|
15
16
|
|
|
16
17
|
from . import hermes_pb2 as pb
|
|
17
18
|
from . import hermes_pb2_grpc as pb_grpc
|
|
18
19
|
from .types import (
|
|
20
|
+
CandidateScores,
|
|
19
21
|
DocAddress,
|
|
20
22
|
Document,
|
|
23
|
+
FusionCandidate,
|
|
24
|
+
FusionCandidateList,
|
|
21
25
|
IndexInfo,
|
|
22
26
|
OrdinalScore,
|
|
27
|
+
PassageScores,
|
|
28
|
+
QueryTrace,
|
|
29
|
+
RrfContribution,
|
|
23
30
|
SearchHit,
|
|
24
31
|
SearchResponse,
|
|
25
32
|
SearchTimings,
|
|
33
|
+
SearchTrace,
|
|
34
|
+
ShardSearchTrace,
|
|
26
35
|
VectorFieldStats,
|
|
27
36
|
)
|
|
28
37
|
|
|
@@ -214,6 +223,8 @@ class HermesClient:
|
|
|
214
223
|
num_docs=response.num_docs,
|
|
215
224
|
num_segments=response.num_segments,
|
|
216
225
|
schema=response.schema,
|
|
226
|
+
candidate_scoring_version=response.candidate_scoring_version,
|
|
227
|
+
unprepared_candidate_fields=list(response.unprepared_candidate_fields),
|
|
217
228
|
vector_stats=vector_stats,
|
|
218
229
|
)
|
|
219
230
|
|
|
@@ -385,6 +396,10 @@ class HermesClient:
|
|
|
385
396
|
fields_to_load: list[str] | None = None,
|
|
386
397
|
reranker: dict[str, Any] | None = None,
|
|
387
398
|
candidate_limit: int = 0,
|
|
399
|
+
l1: dict[str, Any] | None = None,
|
|
400
|
+
score_export: dict[str, Any] | None = None,
|
|
401
|
+
include_rrf_scores: bool = False,
|
|
402
|
+
tracing: bool = False,
|
|
388
403
|
timeout: float | None = None,
|
|
389
404
|
) -> SearchResponse:
|
|
390
405
|
"""Search for documents.
|
|
@@ -407,6 +422,10 @@ class HermesClient:
|
|
|
407
422
|
reranker: Reranker dict matching proto Reranker message
|
|
408
423
|
candidate_limit: Shared first-stage candidate pool. Zero uses the
|
|
409
424
|
result window; explicit values are capped at 2x that window.
|
|
425
|
+
include_rrf_scores: Add independent RRF scores and per-branch votes
|
|
426
|
+
to fusion hits, preserving the requested ranking. Default false.
|
|
427
|
+
tracing: Preserve every shard's bounded branch nominations, query
|
|
428
|
+
provenance and selected results in response.trace. Default false.
|
|
410
429
|
|
|
411
430
|
Returns:
|
|
412
431
|
SearchResponse with hits
|
|
@@ -473,12 +492,34 @@ class HermesClient:
|
|
|
473
492
|
fields_to_load=fields_to_load or [],
|
|
474
493
|
reranker=pb_reranker,
|
|
475
494
|
candidate_limit=candidate_limit,
|
|
495
|
+
l1=pb.L1Ranking(**l1) if l1 is not None else None,
|
|
496
|
+
include_rrf_scores=include_rrf_scores,
|
|
497
|
+
tracing=tracing,
|
|
498
|
+
score_export=pb.ScoreExport(**score_export)
|
|
499
|
+
if score_export is not None
|
|
500
|
+
else None,
|
|
476
501
|
)
|
|
477
502
|
|
|
478
503
|
response = await self._search_stub.Search(
|
|
479
504
|
request, timeout=self._deadline(timeout)
|
|
480
505
|
)
|
|
481
506
|
|
|
507
|
+
expected_l1 = "formula_v1"
|
|
508
|
+
if l1 is not None and response.ranking_method != expected_l1:
|
|
509
|
+
raise RuntimeError(
|
|
510
|
+
f"L1 requires a backend with {expected_l1} ranking semantics; "
|
|
511
|
+
f"received {response.ranking_method!r}"
|
|
512
|
+
)
|
|
513
|
+
|
|
514
|
+
if tracing and not response.HasField("trace"):
|
|
515
|
+
raise RuntimeError("Backend omitted requested search trace; upgrade Hermes")
|
|
516
|
+
if include_rrf_scores and any(
|
|
517
|
+
not hit.HasField("rrf_score") for hit in response.hits
|
|
518
|
+
):
|
|
519
|
+
raise RuntimeError(
|
|
520
|
+
"Backend omitted requested RRF diagnostics; upgrade Hermes"
|
|
521
|
+
)
|
|
522
|
+
|
|
482
523
|
hits = [
|
|
483
524
|
SearchHit(
|
|
484
525
|
address=DocAddress(
|
|
@@ -486,7 +527,32 @@ class HermesClient:
|
|
|
486
527
|
doc_id=hit.address.doc_id,
|
|
487
528
|
),
|
|
488
529
|
score=hit.score,
|
|
530
|
+
rrf_score=hit.rrf_score if hit.HasField("rrf_score") else None,
|
|
531
|
+
rrf_contributions=[
|
|
532
|
+
RrfContribution(
|
|
533
|
+
query_index=vote.query_index,
|
|
534
|
+
query_name=vote.query_name,
|
|
535
|
+
rank=vote.rank,
|
|
536
|
+
score=vote.score,
|
|
537
|
+
ordinal=vote.ordinal if vote.HasField("ordinal") else None,
|
|
538
|
+
)
|
|
539
|
+
for vote in hit.rrf_contributions
|
|
540
|
+
],
|
|
489
541
|
fields={k: _from_field_value_list(v) for k, v in hit.fields.items()},
|
|
542
|
+
candidate_scores=CandidateScores(
|
|
543
|
+
document=dict(hit.candidate_scores.document),
|
|
544
|
+
passages=[
|
|
545
|
+
PassageScores(
|
|
546
|
+
ordinal=row.ordinal,
|
|
547
|
+
scores=dict(row.scores),
|
|
548
|
+
l1_score=row.l1_score if row.HasField("l1_score") else None,
|
|
549
|
+
)
|
|
550
|
+
for row in hit.candidate_scores.passages
|
|
551
|
+
],
|
|
552
|
+
scored_passages=hit.candidate_scores.scored_passages,
|
|
553
|
+
)
|
|
554
|
+
if hit.HasField("candidate_scores")
|
|
555
|
+
else None,
|
|
490
556
|
ordinal_scores=[
|
|
491
557
|
OrdinalScore(ordinal=os.ordinal, score=os.score)
|
|
492
558
|
for os in hit.ordinal_scores
|
|
@@ -503,13 +569,39 @@ class HermesClient:
|
|
|
503
569
|
rerank_us=t.rerank_us,
|
|
504
570
|
load_us=t.load_us,
|
|
505
571
|
total_us=t.total_us,
|
|
572
|
+
candidate_scoring_us=t.candidate_scoring_us,
|
|
506
573
|
)
|
|
507
574
|
|
|
508
575
|
return SearchResponse(
|
|
509
576
|
hits=hits,
|
|
510
577
|
total_hits=response.total_hits,
|
|
578
|
+
trace=_from_search_trace(response.trace)
|
|
579
|
+
if response.HasField("trace")
|
|
580
|
+
else None,
|
|
511
581
|
took_ms=response.took_ms,
|
|
512
582
|
timings=timings,
|
|
583
|
+
ranking_method=response.ranking_method,
|
|
584
|
+
truncated=response.truncated,
|
|
585
|
+
fusion_candidates=[
|
|
586
|
+
FusionCandidateList(
|
|
587
|
+
query_index=branch.query_index,
|
|
588
|
+
candidates=[
|
|
589
|
+
FusionCandidate(
|
|
590
|
+
address=DocAddress(
|
|
591
|
+
segment_id=hit.address.segment_id,
|
|
592
|
+
doc_id=hit.address.doc_id,
|
|
593
|
+
),
|
|
594
|
+
score=hit.score,
|
|
595
|
+
ordinal_scores=[
|
|
596
|
+
OrdinalScore(ordinal=score.ordinal, score=score.score)
|
|
597
|
+
for score in hit.ordinal_scores
|
|
598
|
+
],
|
|
599
|
+
)
|
|
600
|
+
for hit in branch.candidates
|
|
601
|
+
],
|
|
602
|
+
)
|
|
603
|
+
for branch in response.fusion_candidates
|
|
604
|
+
],
|
|
513
605
|
)
|
|
514
606
|
|
|
515
607
|
async def get_document(
|
|
@@ -867,22 +959,33 @@ def _build_query(q: dict[str, Any]) -> pb.Query:
|
|
|
867
959
|
method = f.get("method", "rrf")
|
|
868
960
|
if method == "rrf":
|
|
869
961
|
pb_method = pb.FusionMethod.FUSION_RRF
|
|
962
|
+
elif method == "candidates":
|
|
963
|
+
pb_method = pb.FusionMethod.FUSION_CANDIDATES
|
|
870
964
|
elif method == "normalized_weighted_sum":
|
|
871
965
|
pb_method = pb.FusionMethod.FUSION_NORMALIZED_WEIGHTED_SUM
|
|
872
966
|
else:
|
|
873
967
|
raise ValueError(
|
|
874
968
|
f"Unknown fusion method {method!r}: "
|
|
875
|
-
"expected 'rrf' or '
|
|
969
|
+
"expected 'rrf', 'normalized_weighted_sum' or 'candidates'"
|
|
876
970
|
)
|
|
877
971
|
return pb.Query(
|
|
878
972
|
fusion=pb.FusionQuery(
|
|
879
973
|
queries=[
|
|
880
974
|
pb.WeightedQuery(
|
|
881
975
|
query=_build_query(wq["query"]),
|
|
882
|
-
weight=wq.get("weight", 1.0),
|
|
976
|
+
weight=wq.get("weight", 0.0 if wq.get("name") else 1.0),
|
|
977
|
+
name=wq.get("name", ""),
|
|
978
|
+
scope={
|
|
979
|
+
None: pb.SCORE_SCOPE_UNSPECIFIED,
|
|
980
|
+
"document": pb.SCORE_SCOPE_DOCUMENT,
|
|
981
|
+
"chunk": pb.SCORE_SCOPE_CHUNK,
|
|
982
|
+
}[wq.get("scope")],
|
|
983
|
+
score_only=wq.get("score_only", False),
|
|
883
984
|
)
|
|
884
985
|
for wq in f["queries"]
|
|
885
986
|
],
|
|
987
|
+
filters=[_build_query(q) for q in f.get("filters", [])],
|
|
988
|
+
candidate_depth=f.get("candidate_depth", 0),
|
|
886
989
|
method=pb_method,
|
|
887
990
|
rrf_k=f.get("rrf_k", 0),
|
|
888
991
|
# Chunk combiner; unset -> MAX server-side (chunk-level fusion)
|
|
@@ -923,3 +1026,53 @@ def _build_reranker(r: dict[str, Any]) -> pb.Reranker:
|
|
|
923
1026
|
binary_vector=r.get("binary_vector", b""),
|
|
924
1027
|
rrf_k=r.get("rrf_k", 0),
|
|
925
1028
|
)
|
|
1029
|
+
|
|
1030
|
+
|
|
1031
|
+
def _from_trace_candidate(candidate: pb.FusionCandidate) -> FusionCandidate:
|
|
1032
|
+
return FusionCandidate(
|
|
1033
|
+
address=DocAddress(candidate.address.segment_id, candidate.address.doc_id),
|
|
1034
|
+
score=candidate.score,
|
|
1035
|
+
ordinal_scores=[
|
|
1036
|
+
OrdinalScore(row.ordinal, row.score) for row in candidate.ordinal_scores
|
|
1037
|
+
],
|
|
1038
|
+
)
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
def _from_search_trace(trace: pb.SearchTrace) -> SearchTrace:
|
|
1042
|
+
return SearchTrace(
|
|
1043
|
+
shards=[
|
|
1044
|
+
ShardSearchTrace(
|
|
1045
|
+
shard_id=shard.shard_id,
|
|
1046
|
+
backend_id=shard.backend_id,
|
|
1047
|
+
index_name=shard.index_name,
|
|
1048
|
+
ranking_method=shard.ranking_method,
|
|
1049
|
+
truncated=shard.truncated,
|
|
1050
|
+
filters=[
|
|
1051
|
+
MessageToDict(query, preserving_proto_field_name=True)
|
|
1052
|
+
for query in shard.filters
|
|
1053
|
+
],
|
|
1054
|
+
selected=[
|
|
1055
|
+
_from_trace_candidate(candidate) for candidate in shard.selected
|
|
1056
|
+
],
|
|
1057
|
+
queries=[
|
|
1058
|
+
QueryTrace(
|
|
1059
|
+
query_index=branch.query_index,
|
|
1060
|
+
query_name=branch.query_name,
|
|
1061
|
+
query=MessageToDict(
|
|
1062
|
+
branch.query, preserving_proto_field_name=True
|
|
1063
|
+
),
|
|
1064
|
+
scope=branch.scope,
|
|
1065
|
+
score_only=branch.score_only,
|
|
1066
|
+
candidate_depth=branch.candidate_depth,
|
|
1067
|
+
total_seen=branch.total_seen,
|
|
1068
|
+
candidates=[
|
|
1069
|
+
_from_trace_candidate(candidate)
|
|
1070
|
+
for candidate in branch.candidates
|
|
1071
|
+
],
|
|
1072
|
+
)
|
|
1073
|
+
for branch in shard.queries
|
|
1074
|
+
],
|
|
1075
|
+
)
|
|
1076
|
+
for shard in trace.shards
|
|
1077
|
+
]
|
|
1078
|
+
)
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
3
|
+
# source: hermes.proto
|
|
4
|
+
# Protobuf Python Version: 6.31.1
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
|
|
13
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
14
|
+
_runtime_version.Domain.PUBLIC, 6, 31, 1, "", "hermes.proto"
|
|
15
|
+
)
|
|
16
|
+
# @@protoc_insertion_point(imports)
|
|
17
|
+
|
|
18
|
+
_sym_db = _symbol_database.Default()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
22
|
+
b'\n\x0chermes.proto\x12\x06hermes"\x86\x04\n\x05Query\x12!\n\x04term\x18\x01 \x01(\x0b\x32\x11.hermes.TermQueryH\x00\x12\'\n\x07\x62oolean\x18\x02 \x01(\x0b\x32\x14.hermes.BooleanQueryH\x00\x12#\n\x05\x62oost\x18\x03 \x01(\x0b\x32\x12.hermes.BoostQueryH\x00\x12\x1f\n\x03\x61ll\x18\x04 \x01(\x0b\x32\x10.hermes.AllQueryH\x00\x12\x32\n\rsparse_vector\x18\x05 \x01(\x0b\x32\x19.hermes.SparseVectorQueryH\x00\x12\x30\n\x0c\x64\x65nse_vector\x18\x06 \x01(\x0b\x32\x18.hermes.DenseVectorQueryH\x00\x12#\n\x05match\x18\x07 \x01(\x0b\x32\x12.hermes.MatchQueryH\x00\x12#\n\x05range\x18\x08 \x01(\x0b\x32\x12.hermes.RangeQueryH\x00\x12%\n\x06prefix\x18\t \x01(\x0b\x32\x13.hermes.PrefixQueryH\x00\x12=\n\x13\x62inary_dense_vector\x18\n \x01(\x0b\x32\x1e.hermes.BinaryDenseVectorQueryH\x00\x12%\n\x06\x66usion\x18\x0b \x01(\x0b\x32\x13.hermes.FusionQueryH\x00\x12%\n\x06phrase\x18\x0c \x01(\x0b\x32\x13.hermes.PhraseQueryH\x00\x42\x07\n\x05query"\x82\x01\n\rWeightedQuery\x12\x1c\n\x05query\x18\x01 \x01(\x0b\x32\r.hermes.Query\x12\x0e\n\x06weight\x18\x02 \x01(\x02\x12\x0c\n\x04name\x18\x03 \x01(\t\x12!\n\x05scope\x18\x04 \x01(\x0e\x32\x12.hermes.ScoreScope\x12\x12\n\nscore_only\x18\x05 \x01(\x08"\xd1\x01\n\x0b\x46usionQuery\x12&\n\x07queries\x18\x01 \x03(\x0b\x32\x15.hermes.WeightedQuery\x12$\n\x06method\x18\x02 \x01(\x0e\x32\x14.hermes.FusionMethod\x12\r\n\x05rrf_k\x18\x03 \x01(\x02\x12,\n\x08\x63ombiner\x18\x05 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x1e\n\x07\x66ilters\x18\x06 \x03(\x0b\x32\r.hermes.Query\x12\x17\n\x0f\x63\x61ndidate_depth\x18\x07 \x01(\r"\xf3\x01\n\tL1Ranking\x12\x15\n\x08\x62\x61\x63kfill\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12<\n\x0emissing_values\x18\x05 \x03(\x0b\x32$.hermes.L1Ranking.MissingValuesEntry\x12\x0f\n\x07\x66ormula\x18\x07 \x01(\t\x1a\x34\n\x12MissingValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x42\x0b\n\t_backfillJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x06\x10\x07R\x07weightsR\x04\x62iasR\ntransformsR\nrrf_weight"B\n\x0bScoreExport\x12\x1d\n\x15passages_per_document\x18\x01 \x01(\r\x12\x14\n\x0c\x61ll_passages\x18\x02 \x01(\x08"\xcb\x02\n\x11SparseVectorQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0f\n\x07indices\x18\x02 \x03(\r\x12\x0e\n\x06values\x18\x03 \x03(\x02\x12\x0c\n\x04text\x18\x04 \x01(\t\x12,\n\x08\x63ombiner\x18\x05 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x13\n\x0bheap_factor\x18\x06 \x01(\x02\x12\x1c\n\x14\x63ombiner_temperature\x18\x07 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x08 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\t \x01(\x02\x12\x18\n\x10weight_threshold\x18\n \x01(\x02\x12\x16\n\x0emax_query_dims\x18\x0b \x01(\r\x12\x0f\n\x07pruning\x18\x0c \x01(\x02\x12\x16\n\tlsp_gamma\x18\r \x01(\rH\x00\x88\x01\x01\x42\x0c\n\n_lsp_gamma"\xbd\x01\n\x10\x44\x65nseVectorQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12\x0e\n\x06nprobe\x18\x03 \x01(\r\x12,\n\x08\x63ombiner\x18\x05 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x1c\n\x14\x63ombiner_temperature\x18\x06 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x07 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\x08 \x01(\x02"\xb3\x01\n\x16\x42inaryDenseVectorQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x01(\x0c\x12,\n\x08\x63ombiner\x18\x03 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x1c\n\x14\x63ombiner_temperature\x18\x04 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x05 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\x06 \x01(\x02"@\n\tTermQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0c\n\x04term\x18\x02 \x01(\t\x12\x16\n\x0etokenizer_hint\x18\x03 \x01(\t"k\n\x0c\x42ooleanQuery\x12\x1b\n\x04must\x18\x01 \x03(\x0b\x32\r.hermes.Query\x12\x1d\n\x06should\x18\x02 \x03(\x0b\x32\r.hermes.Query\x12\x1f\n\x08must_not\x18\x03 \x03(\x0b\x32\r.hermes.Query"9\n\nBoostQuery\x12\x1c\n\x05query\x18\x01 \x01(\x0b\x32\r.hermes.Query\x12\r\n\x05\x62oost\x18\x02 \x01(\x02"\n\n\x08\x41llQuery"\xe7\x01\n\nRangeQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x14\n\x07min_u64\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07max_u64\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07min_i64\x18\x04 \x01(\x03H\x02\x88\x01\x01\x12\x14\n\x07max_i64\x18\x05 \x01(\x03H\x03\x88\x01\x01\x12\x14\n\x07min_f64\x18\x06 \x01(\x01H\x04\x88\x01\x01\x12\x14\n\x07max_f64\x18\x07 \x01(\x01H\x05\x88\x01\x01\x42\n\n\x08_min_u64B\n\n\x08_max_u64B\n\n\x08_min_i64B\n\n\x08_max_i64B\n\n\x08_min_f64B\n\n\x08_max_f64"\x9d\x01\n\nMatchQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x16\n\x0etokenizer_hint\x18\x03 \x01(\t\x12\x18\n\x10proximity_weight\x18\x04 \x01(\x02\x12\x18\n\x10proximity_window\x18\x05 \x01(\r\x12\x13\n\x0bheap_factor\x18\x06 \x01(\x02\x12\x11\n\tmax_terms\x18\x07 \x01(\r"P\n\x0bPhraseQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x0c\n\x04slop\x18\x03 \x01(\r\x12\x16\n\x0etokenizer_hint\x18\x04 \x01(\t",\n\x0bPrefixQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\t"\xe4\x01\n\x08Reranker\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12,\n\x08\x63ombiner\x18\x04 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x1c\n\x14\x63ombiner_temperature\x18\x05 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x06 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\x07 \x01(\x02\x12\x17\n\x0fmatryoshka_dims\x18\x08 \x01(\r\x12\x15\n\rbinary_vector\x18\t \x01(\x0c\x12\r\n\x05rrf_k\x18\n \x01(\x02"\xeb\x02\n\rSearchRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x1c\n\x05query\x18\x02 \x01(\x0b\x32\r.hermes.Query\x12\r\n\x05limit\x18\x03 \x01(\r\x12\x0e\n\x06offset\x18\x04 \x01(\r\x12\x16\n\x0e\x66ields_to_load\x18\x05 \x03(\t\x12"\n\x08reranker\x18\x06 \x01(\x0b\x32\x10.hermes.Reranker\x12\x17\n\x0f\x63\x61ndidate_limit\x18\x07 \x01(\r\x12\x16\n\x0etime_budget_ms\x18\x08 \x01(\x04\x12%\n\ntext_stats\x18\t \x01(\x0b\x32\x11.hermes.TextStats\x12\x1d\n\x02l1\x18\n \x01(\x0b\x32\x11.hermes.L1Ranking\x12)\n\x0cscore_export\x18\x0b \x01(\x0b\x32\x13.hermes.ScoreExport\x12\x1a\n\x12include_rrf_scores\x18\x0c \x01(\x08\x12\x0f\n\x07tracing\x18\r \x01(\x08"G\n\x13GetTextStatsRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x1c\n\x05query\x18\x02 \x01(\x0b\x32\r.hermes.Query"8\n\x14GetTextStatsResponse\x12 \n\x05stats\x18\x01 \x01(\x0b\x32\x11.hermes.TextStats"G\n\tTextStats\x12\x12\n\ntotal_docs\x18\x01 \x01(\x04\x12&\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x16.hermes.TextFieldStats"i\n\x0eTextFieldStats\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x13\n\x0b\x63orpus_size\x18\x02 \x01(\x04\x12\x0f\n\x07\x61vg_len\x18\x03 \x01(\x02\x12"\n\x05terms\x18\x04 \x03(\x0b\x32\x13.hermes.TermDocFreq"-\n\x0bTermDocFreq\x12\x0c\n\x04term\x18\x01 \x01(\x0c\x12\x10\n\x08\x64oc_freq\x18\x02 \x01(\x04"0\n\nDocAddress\x12\x12\n\nsegment_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64oc_id\x18\x02 \x01(\r"\xf0\x02\n\tSearchHit\x12#\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x12.hermes.DocAddress\x12\r\n\x05score\x18\x02 \x01(\x02\x12-\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x1d.hermes.SearchHit.FieldsEntry\x12,\n\x0eordinal_scores\x18\x04 \x03(\x0b\x32\x14.hermes.OrdinalScore\x12\x31\n\x10\x63\x61ndidate_scores\x18\x05 \x01(\x0b\x32\x17.hermes.CandidateScores\x12\x16\n\trrf_score\x18\x06 \x01(\x02H\x00\x88\x01\x01\x12\x32\n\x11rrf_contributions\x18\x07 \x03(\x0b\x32\x17.hermes.RrfContribution\x1a\x45\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.hermes.FieldValueList:\x02\x38\x01\x42\x0c\n\n_rrf_score"y\n\x0fRrfContribution\x12\x13\n\x0bquery_index\x18\x01 \x01(\r\x12\x12\n\nquery_name\x18\x02 \x01(\t\x12\x0c\n\x04rank\x18\x03 \x01(\r\x12\r\n\x05score\x18\x04 \x01(\x02\x12\x14\n\x07ordinal\x18\x05 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_ordinal"\xbd\x01\n\x0f\x43\x61ndidateScores\x12\x37\n\x08\x64ocument\x18\x01 \x03(\x0b\x32%.hermes.CandidateScores.DocumentEntry\x12\'\n\x08passages\x18\x02 \x03(\x0b\x32\x15.hermes.PassageScores\x12\x17\n\x0fscored_passages\x18\x03 \x01(\r\x1a/\n\rDocumentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01"\xa6\x01\n\rPassageScores\x12\x0f\n\x07ordinal\x18\x01 \x01(\r\x12\x31\n\x06scores\x18\x02 \x03(\x0b\x32!.hermes.PassageScores.ScoresEntry\x12\x15\n\x08l1_score\x18\x03 \x01(\x02H\x00\x88\x01\x01\x1a-\n\x0bScoresEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x42\x0b\n\t_l1_score"4\n\x0e\x46ieldValueList\x12"\n\x06values\x18\x01 \x03(\x0b\x32\x12.hermes.FieldValue".\n\x0cOrdinalScore\x12\x0f\n\x07ordinal\x18\x01 \x01(\r\x12\r\n\x05score\x18\x02 \x01(\x02"\xfa\x01\n\nFieldValue\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12\r\n\x03u64\x18\x02 \x01(\x04H\x00\x12\r\n\x03i64\x18\x03 \x01(\x03H\x00\x12\r\n\x03\x66\x36\x34\x18\x04 \x01(\x01H\x00\x12\x15\n\x0b\x62ytes_value\x18\x05 \x01(\x0cH\x00\x12-\n\rsparse_vector\x18\x06 \x01(\x0b\x32\x14.hermes.SparseVectorH\x00\x12+\n\x0c\x64\x65nse_vector\x18\x07 \x01(\x0b\x32\x13.hermes.DenseVectorH\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12\x1d\n\x13\x62inary_dense_vector\x18\t \x01(\x0cH\x00\x42\x07\n\x05value"/\n\x0cSparseVector\x12\x0f\n\x07indices\x18\x01 \x03(\r\x12\x0e\n\x06values\x18\x02 \x03(\x02"\x1d\n\x0b\x44\x65nseVector\x12\x0e\n\x06values\x18\x01 \x03(\x02"\x85\x02\n\x0eSearchResponse\x12\x1f\n\x04hits\x18\x01 \x03(\x0b\x32\x11.hermes.SearchHit\x12\x12\n\ntotal_hits\x18\x02 \x01(\x04\x12\x0f\n\x07took_ms\x18\x03 \x01(\x04\x12&\n\x07timings\x18\x04 \x01(\x0b\x32\x15.hermes.SearchTimings\x12\x11\n\ttruncated\x18\x05 \x01(\x08\x12\x16\n\x0eranking_method\x18\x06 \x01(\t\x12\x36\n\x11\x66usion_candidates\x18\x07 \x03(\x0b\x32\x1b.hermes.FusionCandidateList\x12"\n\x05trace\x18\x08 \x01(\x0b\x32\x13.hermes.SearchTrace"7\n\x0bSearchTrace\x12(\n\x06shards\x18\x01 \x03(\x0b\x32\x18.hermes.ShardSearchTrace"\xe7\x01\n\x10ShardSearchTrace\x12\x10\n\x08shard_id\x18\x01 \x01(\t\x12\x12\n\nbackend_id\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12#\n\x07queries\x18\x04 \x03(\x0b\x32\x12.hermes.QueryTrace\x12)\n\x08selected\x18\x05 \x03(\x0b\x32\x17.hermes.FusionCandidate\x12\x16\n\x0eranking_method\x18\x06 \x01(\t\x12\x11\n\ttruncated\x18\x07 \x01(\x08\x12\x1e\n\x07\x66ilters\x18\x08 \x03(\x0b\x32\r.hermes.Query"\xe4\x01\n\nQueryTrace\x12\x13\n\x0bquery_index\x18\x01 \x01(\r\x12\x12\n\nquery_name\x18\x02 \x01(\t\x12\x1c\n\x05query\x18\x03 \x01(\x0b\x32\r.hermes.Query\x12!\n\x05scope\x18\x04 \x01(\x0e\x32\x12.hermes.ScoreScope\x12\x12\n\nscore_only\x18\x05 \x01(\x08\x12\x17\n\x0f\x63\x61ndidate_depth\x18\x06 \x01(\r\x12\x12\n\ntotal_seen\x18\x07 \x01(\r\x12+\n\ncandidates\x18\x08 \x03(\x0b\x32\x17.hermes.FusionCandidate"W\n\x13\x46usionCandidateList\x12\x13\n\x0bquery_index\x18\x01 \x01(\r\x12+\n\ncandidates\x18\x02 \x03(\x0b\x32\x17.hermes.FusionCandidate"s\n\x0f\x46usionCandidate\x12#\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x12.hermes.DocAddress\x12\r\n\x05score\x18\x02 \x01(\x02\x12,\n\x0eordinal_scores\x18\x03 \x03(\x0b\x32\x14.hermes.OrdinalScore"v\n\rSearchTimings\x12\x11\n\tsearch_us\x18\x01 \x01(\x04\x12\x11\n\trerank_us\x18\x02 \x01(\x04\x12\x0f\n\x07load_us\x18\x03 \x01(\x04\x12\x10\n\x08total_us\x18\x04 \x01(\x04\x12\x1c\n\x14\x63\x61ndidate_scoring_us\x18\x05 \x01(\x04"M\n\x12GetDocumentRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12#\n\x07\x61\x64\x64ress\x18\x02 \x01(\x0b\x32\x12.hermes.DocAddress"\x95\x01\n\x13GetDocumentResponse\x12\x37\n\x06\x66ields\x18\x01 \x03(\x0b\x32\'.hermes.GetDocumentResponse.FieldsEntry\x1a\x45\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.hermes.FieldValueList:\x02\x38\x01")\n\x13GetIndexInfoRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"\xb1\x02\n\x14GetIndexInfoResponse\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x10\n\x08num_docs\x18\x02 \x01(\r\x12\x14\n\x0cnum_segments\x18\x03 \x01(\r\x12\x0e\n\x06schema\x18\x04 \x01(\t\x12)\n\x0cmemory_stats\x18\x05 \x01(\x0b\x32\x13.hermes.MemoryStats\x12.\n\x0cvector_stats\x18\x06 \x03(\x0b\x32\x18.hermes.VectorFieldStats\x12*\n\x0btext_fields\x18\x07 \x03(\x0b\x32\x15.hermes.TextFieldInfo\x12!\n\x19\x63\x61ndidate_scoring_version\x18\x08 \x01(\r\x12#\n\x1bunprepared_candidate_fields\x18\t \x03(\t"y\n\rTextFieldInfo\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0f\n\x07lexical\x18\x02 \x01(\x08\x12\x12\n\nhint_field\x18\x03 \x01(\t\x12\x10\n\x08variants\x18\x04 \x01(\x08\x12\x11\n\tpositions\x18\x05 \x01(\x08\x12\x0f\n\x07\x63hunked\x18\x06 \x01(\x08"\x83\x01\n\x10VectorFieldStats\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0bvector_type\x18\x02 \x01(\t\x12\x15\n\rtotal_vectors\x18\x03 \x01(\x04\x12\x11\n\tdimension\x18\x04 \x01(\r\x12\x1c\n\x14\x61vg_terms_per_vector\x18\x05 \x01(\x02"\x8c\x01\n\x0bMemoryStats\x12\x13\n\x0btotal_bytes\x18\x01 \x01(\x04\x12\x34\n\x0findexing_buffer\x18\x02 \x01(\x0b\x32\x1b.hermes.IndexingBufferStats\x12\x32\n\x0esegment_reader\x18\x03 \x01(\x0b\x32\x1a.hermes.SegmentReaderStats"\xdf\x01\n\x13IndexingBufferStats\x12\x13\n\x0btotal_bytes\x18\x01 \x01(\x04\x12\x16\n\x0epostings_bytes\x18\x02 \x01(\x04\x12\x1c\n\x14sparse_vectors_bytes\x18\x03 \x01(\x04\x12\x1b\n\x13\x64\x65nse_vectors_bytes\x18\x04 \x01(\x04\x12\x16\n\x0einterner_bytes\x18\x05 \x01(\x04\x12\x1c\n\x14position_index_bytes\x18\x06 \x01(\x04\x12\x14\n\x0cpending_docs\x18\x07 \x01(\r\x12\x14\n\x0cunique_terms\x18\x08 \x01(\r"\xb7\x01\n\x12SegmentReaderStats\x12\x13\n\x0btotal_bytes\x18\x01 \x01(\x04\x12\x1d\n\x15term_dict_cache_bytes\x18\x02 \x01(\x04\x12\x19\n\x11store_cache_bytes\x18\x03 \x01(\x04\x12\x1a\n\x12sparse_index_bytes\x18\x04 \x01(\x04\x12\x19\n\x11\x64\x65nse_index_bytes\x18\x05 \x01(\x04\x12\x1b\n\x13num_segments_loaded\x18\x06 \x01(\r"8\n\x12\x43reateIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t"&\n\x13\x43reateIndexResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08"=\n\nFieldEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.hermes.FieldValue"3\n\rNamedDocument\x12"\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x12.hermes.FieldEntry"Z\n\x1a\x42\x61tchIndexDocumentsRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12(\n\tdocuments\x18\x02 \x03(\x0b\x32\x15.hermes.NamedDocument"p\n\x1b\x42\x61tchIndexDocumentsResponse\x12\x15\n\rindexed_count\x18\x01 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\x02 \x01(\r\x12%\n\x06\x65rrors\x18\x03 \x03(\x0b\x32\x15.hermes.DocumentError"-\n\rDocumentError\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05\x65rror\x18\x02 \x01(\t"N\n\x14IndexDocumentRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12"\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x12.hermes.FieldEntry"V\n\x16IndexDocumentsResponse\x12\x15\n\rindexed_count\x18\x01 \x01(\r\x12%\n\x06\x65rrors\x18\x02 \x03(\x0b\x32\x15.hermes.DocumentError"#\n\rCommitRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"3\n\x0e\x43ommitResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x10\n\x08num_docs\x18\x02 \x01(\r"\'\n\x11\x46orceMergeRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t";\n\x12\x46orceMergeResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0cnum_segments\x18\x02 \x01(\r"(\n\x12\x44\x65leteIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"&\n\x13\x44\x65leteIndexResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08"\x14\n\x12ListIndexesRequest"*\n\x13ListIndexesResponse\x12\x13\n\x0bindex_names\x18\x01 \x03(\t"/\n\x19RetrainVectorIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"-\n\x1aRetrainVectorIndexResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08"W\n\x17\x41lterVectorIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x14\n\x0c\x66ield_schema\x18\x03 \x01(\t"h\n\x18\x41lterVectorIndexResponse\x12\x1e\n\x16publication_generation\x18\x01 \x01(\x04\x12,\n\x05state\x18\x02 \x01(\x0e\x32\x1d.hermes.VectorIndexAlterState"$\n\x0eReorderRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"8\n\x0fReorderResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0cnum_segments\x18\x02 \x01(\r*Y\n\x0c\x46usionMethod\x12\x0e\n\nFUSION_RRF\x10\x00\x12"\n\x1e\x46USION_NORMALIZED_WEIGHTED_SUM\x10\x01\x12\x15\n\x11\x46USION_CANDIDATES\x10\x02*Z\n\nScoreScope\x12\x1b\n\x17SCORE_SCOPE_UNSPECIFIED\x10\x00\x12\x18\n\x14SCORE_SCOPE_DOCUMENT\x10\x01\x12\x15\n\x11SCORE_SCOPE_CHUNK\x10\x02*\x81\x01\n\x12MultiValueCombiner\x12\x18\n\x14\x43OMBINER_LOG_SUM_EXP\x10\x00\x12\x10\n\x0c\x43OMBINER_MAX\x10\x01\x12\x10\n\x0c\x43OMBINER_AVG\x10\x02\x12\x10\n\x0c\x43OMBINER_SUM\x10\x03\x12\x1b\n\x17\x43OMBINER_WEIGHTED_TOP_K\x10\x04*\xbf\x01\n\x15VectorIndexAlterState\x12(\n$VECTOR_INDEX_ALTER_STATE_UNSPECIFIED\x10\x00\x12"\n\x1eVECTOR_INDEX_ALTER_STATE_BUILT\x10\x01\x12*\n&VECTOR_INDEX_ALTER_STATE_DEFERRED_FLAT\x10\x02\x12,\n(VECTOR_INDEX_ALTER_STATE_PARAMETERS_ONLY\x10\x03\x32\xa6\x02\n\rSearchService\x12\x37\n\x06Search\x12\x15.hermes.SearchRequest\x1a\x16.hermes.SearchResponse\x12\x46\n\x0bGetDocument\x12\x1a.hermes.GetDocumentRequest\x1a\x1b.hermes.GetDocumentResponse\x12I\n\x0cGetIndexInfo\x12\x1b.hermes.GetIndexInfoRequest\x1a\x1c.hermes.GetIndexInfoResponse\x12I\n\x0cGetTextStats\x12\x1b.hermes.GetTextStatsRequest\x1a\x1c.hermes.GetTextStatsResponse2\x86\x06\n\x0cIndexService\x12\x46\n\x0b\x43reateIndex\x12\x1a.hermes.CreateIndexRequest\x1a\x1b.hermes.CreateIndexResponse\x12P\n\x0eIndexDocuments\x12\x1c.hermes.IndexDocumentRequest\x1a\x1e.hermes.IndexDocumentsResponse(\x01\x12^\n\x13\x42\x61tchIndexDocuments\x12".hermes.BatchIndexDocumentsRequest\x1a#.hermes.BatchIndexDocumentsResponse\x12\x37\n\x06\x43ommit\x12\x15.hermes.CommitRequest\x1a\x16.hermes.CommitResponse\x12\x43\n\nForceMerge\x12\x19.hermes.ForceMergeRequest\x1a\x1a.hermes.ForceMergeResponse\x12:\n\x07Reorder\x12\x16.hermes.ReorderRequest\x1a\x17.hermes.ReorderResponse\x12\x46\n\x0b\x44\x65leteIndex\x12\x1a.hermes.DeleteIndexRequest\x1a\x1b.hermes.DeleteIndexResponse\x12\x46\n\x0bListIndexes\x12\x1a.hermes.ListIndexesRequest\x1a\x1b.hermes.ListIndexesResponse\x12[\n\x12RetrainVectorIndex\x12!.hermes.RetrainVectorIndexRequest\x1a".hermes.RetrainVectorIndexResponse\x12U\n\x10\x41lterVectorIndex\x12\x1f.hermes.AlterVectorIndexRequest\x1a .hermes.AlterVectorIndexResponseb\x06proto3'
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
_globals = globals()
|
|
26
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
27
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "hermes_pb2", _globals)
|
|
28
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
29
|
+
DESCRIPTOR._loaded_options = None
|
|
30
|
+
_globals["_L1RANKING_MISSINGVALUESENTRY"]._loaded_options = None
|
|
31
|
+
_globals["_L1RANKING_MISSINGVALUESENTRY"]._serialized_options = b"8\001"
|
|
32
|
+
_globals["_SEARCHHIT_FIELDSENTRY"]._loaded_options = None
|
|
33
|
+
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_options = b"8\001"
|
|
34
|
+
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._loaded_options = None
|
|
35
|
+
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._serialized_options = b"8\001"
|
|
36
|
+
_globals["_PASSAGESCORES_SCORESENTRY"]._loaded_options = None
|
|
37
|
+
_globals["_PASSAGESCORES_SCORESENTRY"]._serialized_options = b"8\001"
|
|
38
|
+
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._loaded_options = None
|
|
39
|
+
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_options = b"8\001"
|
|
40
|
+
_globals["_FUSIONMETHOD"]._serialized_start = 8843
|
|
41
|
+
_globals["_FUSIONMETHOD"]._serialized_end = 8932
|
|
42
|
+
_globals["_SCORESCOPE"]._serialized_start = 8934
|
|
43
|
+
_globals["_SCORESCOPE"]._serialized_end = 9024
|
|
44
|
+
_globals["_MULTIVALUECOMBINER"]._serialized_start = 9027
|
|
45
|
+
_globals["_MULTIVALUECOMBINER"]._serialized_end = 9156
|
|
46
|
+
_globals["_VECTORINDEXALTERSTATE"]._serialized_start = 9159
|
|
47
|
+
_globals["_VECTORINDEXALTERSTATE"]._serialized_end = 9350
|
|
48
|
+
_globals["_QUERY"]._serialized_start = 25
|
|
49
|
+
_globals["_QUERY"]._serialized_end = 543
|
|
50
|
+
_globals["_WEIGHTEDQUERY"]._serialized_start = 546
|
|
51
|
+
_globals["_WEIGHTEDQUERY"]._serialized_end = 676
|
|
52
|
+
_globals["_FUSIONQUERY"]._serialized_start = 679
|
|
53
|
+
_globals["_FUSIONQUERY"]._serialized_end = 888
|
|
54
|
+
_globals["_L1RANKING"]._serialized_start = 891
|
|
55
|
+
_globals["_L1RANKING"]._serialized_end = 1134
|
|
56
|
+
_globals["_L1RANKING_MISSINGVALUESENTRY"]._serialized_start = 1006
|
|
57
|
+
_globals["_L1RANKING_MISSINGVALUESENTRY"]._serialized_end = 1058
|
|
58
|
+
_globals["_SCOREEXPORT"]._serialized_start = 1136
|
|
59
|
+
_globals["_SCOREEXPORT"]._serialized_end = 1202
|
|
60
|
+
_globals["_SPARSEVECTORQUERY"]._serialized_start = 1205
|
|
61
|
+
_globals["_SPARSEVECTORQUERY"]._serialized_end = 1536
|
|
62
|
+
_globals["_DENSEVECTORQUERY"]._serialized_start = 1539
|
|
63
|
+
_globals["_DENSEVECTORQUERY"]._serialized_end = 1728
|
|
64
|
+
_globals["_BINARYDENSEVECTORQUERY"]._serialized_start = 1731
|
|
65
|
+
_globals["_BINARYDENSEVECTORQUERY"]._serialized_end = 1910
|
|
66
|
+
_globals["_TERMQUERY"]._serialized_start = 1912
|
|
67
|
+
_globals["_TERMQUERY"]._serialized_end = 1976
|
|
68
|
+
_globals["_BOOLEANQUERY"]._serialized_start = 1978
|
|
69
|
+
_globals["_BOOLEANQUERY"]._serialized_end = 2085
|
|
70
|
+
_globals["_BOOSTQUERY"]._serialized_start = 2087
|
|
71
|
+
_globals["_BOOSTQUERY"]._serialized_end = 2144
|
|
72
|
+
_globals["_ALLQUERY"]._serialized_start = 2146
|
|
73
|
+
_globals["_ALLQUERY"]._serialized_end = 2156
|
|
74
|
+
_globals["_RANGEQUERY"]._serialized_start = 2159
|
|
75
|
+
_globals["_RANGEQUERY"]._serialized_end = 2390
|
|
76
|
+
_globals["_MATCHQUERY"]._serialized_start = 2393
|
|
77
|
+
_globals["_MATCHQUERY"]._serialized_end = 2550
|
|
78
|
+
_globals["_PHRASEQUERY"]._serialized_start = 2552
|
|
79
|
+
_globals["_PHRASEQUERY"]._serialized_end = 2632
|
|
80
|
+
_globals["_PREFIXQUERY"]._serialized_start = 2634
|
|
81
|
+
_globals["_PREFIXQUERY"]._serialized_end = 2678
|
|
82
|
+
_globals["_RERANKER"]._serialized_start = 2681
|
|
83
|
+
_globals["_RERANKER"]._serialized_end = 2909
|
|
84
|
+
_globals["_SEARCHREQUEST"]._serialized_start = 2912
|
|
85
|
+
_globals["_SEARCHREQUEST"]._serialized_end = 3275
|
|
86
|
+
_globals["_GETTEXTSTATSREQUEST"]._serialized_start = 3277
|
|
87
|
+
_globals["_GETTEXTSTATSREQUEST"]._serialized_end = 3348
|
|
88
|
+
_globals["_GETTEXTSTATSRESPONSE"]._serialized_start = 3350
|
|
89
|
+
_globals["_GETTEXTSTATSRESPONSE"]._serialized_end = 3406
|
|
90
|
+
_globals["_TEXTSTATS"]._serialized_start = 3408
|
|
91
|
+
_globals["_TEXTSTATS"]._serialized_end = 3479
|
|
92
|
+
_globals["_TEXTFIELDSTATS"]._serialized_start = 3481
|
|
93
|
+
_globals["_TEXTFIELDSTATS"]._serialized_end = 3586
|
|
94
|
+
_globals["_TERMDOCFREQ"]._serialized_start = 3588
|
|
95
|
+
_globals["_TERMDOCFREQ"]._serialized_end = 3633
|
|
96
|
+
_globals["_DOCADDRESS"]._serialized_start = 3635
|
|
97
|
+
_globals["_DOCADDRESS"]._serialized_end = 3683
|
|
98
|
+
_globals["_SEARCHHIT"]._serialized_start = 3686
|
|
99
|
+
_globals["_SEARCHHIT"]._serialized_end = 4054
|
|
100
|
+
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_start = 3971
|
|
101
|
+
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_end = 4040
|
|
102
|
+
_globals["_RRFCONTRIBUTION"]._serialized_start = 4056
|
|
103
|
+
_globals["_RRFCONTRIBUTION"]._serialized_end = 4177
|
|
104
|
+
_globals["_CANDIDATESCORES"]._serialized_start = 4180
|
|
105
|
+
_globals["_CANDIDATESCORES"]._serialized_end = 4369
|
|
106
|
+
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._serialized_start = 4322
|
|
107
|
+
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._serialized_end = 4369
|
|
108
|
+
_globals["_PASSAGESCORES"]._serialized_start = 4372
|
|
109
|
+
_globals["_PASSAGESCORES"]._serialized_end = 4538
|
|
110
|
+
_globals["_PASSAGESCORES_SCORESENTRY"]._serialized_start = 4480
|
|
111
|
+
_globals["_PASSAGESCORES_SCORESENTRY"]._serialized_end = 4525
|
|
112
|
+
_globals["_FIELDVALUELIST"]._serialized_start = 4540
|
|
113
|
+
_globals["_FIELDVALUELIST"]._serialized_end = 4592
|
|
114
|
+
_globals["_ORDINALSCORE"]._serialized_start = 4594
|
|
115
|
+
_globals["_ORDINALSCORE"]._serialized_end = 4640
|
|
116
|
+
_globals["_FIELDVALUE"]._serialized_start = 4643
|
|
117
|
+
_globals["_FIELDVALUE"]._serialized_end = 4893
|
|
118
|
+
_globals["_SPARSEVECTOR"]._serialized_start = 4895
|
|
119
|
+
_globals["_SPARSEVECTOR"]._serialized_end = 4942
|
|
120
|
+
_globals["_DENSEVECTOR"]._serialized_start = 4944
|
|
121
|
+
_globals["_DENSEVECTOR"]._serialized_end = 4973
|
|
122
|
+
_globals["_SEARCHRESPONSE"]._serialized_start = 4976
|
|
123
|
+
_globals["_SEARCHRESPONSE"]._serialized_end = 5237
|
|
124
|
+
_globals["_SEARCHTRACE"]._serialized_start = 5239
|
|
125
|
+
_globals["_SEARCHTRACE"]._serialized_end = 5294
|
|
126
|
+
_globals["_SHARDSEARCHTRACE"]._serialized_start = 5297
|
|
127
|
+
_globals["_SHARDSEARCHTRACE"]._serialized_end = 5528
|
|
128
|
+
_globals["_QUERYTRACE"]._serialized_start = 5531
|
|
129
|
+
_globals["_QUERYTRACE"]._serialized_end = 5759
|
|
130
|
+
_globals["_FUSIONCANDIDATELIST"]._serialized_start = 5761
|
|
131
|
+
_globals["_FUSIONCANDIDATELIST"]._serialized_end = 5848
|
|
132
|
+
_globals["_FUSIONCANDIDATE"]._serialized_start = 5850
|
|
133
|
+
_globals["_FUSIONCANDIDATE"]._serialized_end = 5965
|
|
134
|
+
_globals["_SEARCHTIMINGS"]._serialized_start = 5967
|
|
135
|
+
_globals["_SEARCHTIMINGS"]._serialized_end = 6085
|
|
136
|
+
_globals["_GETDOCUMENTREQUEST"]._serialized_start = 6087
|
|
137
|
+
_globals["_GETDOCUMENTREQUEST"]._serialized_end = 6164
|
|
138
|
+
_globals["_GETDOCUMENTRESPONSE"]._serialized_start = 6167
|
|
139
|
+
_globals["_GETDOCUMENTRESPONSE"]._serialized_end = 6316
|
|
140
|
+
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_start = 3971
|
|
141
|
+
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_end = 4040
|
|
142
|
+
_globals["_GETINDEXINFOREQUEST"]._serialized_start = 6318
|
|
143
|
+
_globals["_GETINDEXINFOREQUEST"]._serialized_end = 6359
|
|
144
|
+
_globals["_GETINDEXINFORESPONSE"]._serialized_start = 6362
|
|
145
|
+
_globals["_GETINDEXINFORESPONSE"]._serialized_end = 6667
|
|
146
|
+
_globals["_TEXTFIELDINFO"]._serialized_start = 6669
|
|
147
|
+
_globals["_TEXTFIELDINFO"]._serialized_end = 6790
|
|
148
|
+
_globals["_VECTORFIELDSTATS"]._serialized_start = 6793
|
|
149
|
+
_globals["_VECTORFIELDSTATS"]._serialized_end = 6924
|
|
150
|
+
_globals["_MEMORYSTATS"]._serialized_start = 6927
|
|
151
|
+
_globals["_MEMORYSTATS"]._serialized_end = 7067
|
|
152
|
+
_globals["_INDEXINGBUFFERSTATS"]._serialized_start = 7070
|
|
153
|
+
_globals["_INDEXINGBUFFERSTATS"]._serialized_end = 7293
|
|
154
|
+
_globals["_SEGMENTREADERSTATS"]._serialized_start = 7296
|
|
155
|
+
_globals["_SEGMENTREADERSTATS"]._serialized_end = 7479
|
|
156
|
+
_globals["_CREATEINDEXREQUEST"]._serialized_start = 7481
|
|
157
|
+
_globals["_CREATEINDEXREQUEST"]._serialized_end = 7537
|
|
158
|
+
_globals["_CREATEINDEXRESPONSE"]._serialized_start = 7539
|
|
159
|
+
_globals["_CREATEINDEXRESPONSE"]._serialized_end = 7577
|
|
160
|
+
_globals["_FIELDENTRY"]._serialized_start = 7579
|
|
161
|
+
_globals["_FIELDENTRY"]._serialized_end = 7640
|
|
162
|
+
_globals["_NAMEDDOCUMENT"]._serialized_start = 7642
|
|
163
|
+
_globals["_NAMEDDOCUMENT"]._serialized_end = 7693
|
|
164
|
+
_globals["_BATCHINDEXDOCUMENTSREQUEST"]._serialized_start = 7695
|
|
165
|
+
_globals["_BATCHINDEXDOCUMENTSREQUEST"]._serialized_end = 7785
|
|
166
|
+
_globals["_BATCHINDEXDOCUMENTSRESPONSE"]._serialized_start = 7787
|
|
167
|
+
_globals["_BATCHINDEXDOCUMENTSRESPONSE"]._serialized_end = 7899
|
|
168
|
+
_globals["_DOCUMENTERROR"]._serialized_start = 7901
|
|
169
|
+
_globals["_DOCUMENTERROR"]._serialized_end = 7946
|
|
170
|
+
_globals["_INDEXDOCUMENTREQUEST"]._serialized_start = 7948
|
|
171
|
+
_globals["_INDEXDOCUMENTREQUEST"]._serialized_end = 8026
|
|
172
|
+
_globals["_INDEXDOCUMENTSRESPONSE"]._serialized_start = 8028
|
|
173
|
+
_globals["_INDEXDOCUMENTSRESPONSE"]._serialized_end = 8114
|
|
174
|
+
_globals["_COMMITREQUEST"]._serialized_start = 8116
|
|
175
|
+
_globals["_COMMITREQUEST"]._serialized_end = 8151
|
|
176
|
+
_globals["_COMMITRESPONSE"]._serialized_start = 8153
|
|
177
|
+
_globals["_COMMITRESPONSE"]._serialized_end = 8204
|
|
178
|
+
_globals["_FORCEMERGEREQUEST"]._serialized_start = 8206
|
|
179
|
+
_globals["_FORCEMERGEREQUEST"]._serialized_end = 8245
|
|
180
|
+
_globals["_FORCEMERGERESPONSE"]._serialized_start = 8247
|
|
181
|
+
_globals["_FORCEMERGERESPONSE"]._serialized_end = 8306
|
|
182
|
+
_globals["_DELETEINDEXREQUEST"]._serialized_start = 8308
|
|
183
|
+
_globals["_DELETEINDEXREQUEST"]._serialized_end = 8348
|
|
184
|
+
_globals["_DELETEINDEXRESPONSE"]._serialized_start = 8350
|
|
185
|
+
_globals["_DELETEINDEXRESPONSE"]._serialized_end = 8388
|
|
186
|
+
_globals["_LISTINDEXESREQUEST"]._serialized_start = 8390
|
|
187
|
+
_globals["_LISTINDEXESREQUEST"]._serialized_end = 8410
|
|
188
|
+
_globals["_LISTINDEXESRESPONSE"]._serialized_start = 8412
|
|
189
|
+
_globals["_LISTINDEXESRESPONSE"]._serialized_end = 8454
|
|
190
|
+
_globals["_RETRAINVECTORINDEXREQUEST"]._serialized_start = 8456
|
|
191
|
+
_globals["_RETRAINVECTORINDEXREQUEST"]._serialized_end = 8503
|
|
192
|
+
_globals["_RETRAINVECTORINDEXRESPONSE"]._serialized_start = 8505
|
|
193
|
+
_globals["_RETRAINVECTORINDEXRESPONSE"]._serialized_end = 8550
|
|
194
|
+
_globals["_ALTERVECTORINDEXREQUEST"]._serialized_start = 8552
|
|
195
|
+
_globals["_ALTERVECTORINDEXREQUEST"]._serialized_end = 8639
|
|
196
|
+
_globals["_ALTERVECTORINDEXRESPONSE"]._serialized_start = 8641
|
|
197
|
+
_globals["_ALTERVECTORINDEXRESPONSE"]._serialized_end = 8745
|
|
198
|
+
_globals["_REORDERREQUEST"]._serialized_start = 8747
|
|
199
|
+
_globals["_REORDERREQUEST"]._serialized_end = 8783
|
|
200
|
+
_globals["_REORDERRESPONSE"]._serialized_start = 8785
|
|
201
|
+
_globals["_REORDERRESPONSE"]._serialized_end = 8841
|
|
202
|
+
_globals["_SEARCHSERVICE"]._serialized_start = 9353
|
|
203
|
+
_globals["_SEARCHSERVICE"]._serialized_end = 9647
|
|
204
|
+
_globals["_INDEXSERVICE"]._serialized_start = 9650
|
|
205
|
+
_globals["_INDEXSERVICE"]._serialized_end = 10424
|
|
206
|
+
# @@protoc_insertion_point(module_scope)
|
{hermes_client_python-1.8.124 → hermes_client_python-1.8.128}/src/hermes_client_python/types.py
RENAMED
|
@@ -157,6 +157,29 @@ class OrdinalScore:
|
|
|
157
157
|
score: float
|
|
158
158
|
|
|
159
159
|
|
|
160
|
+
@dataclass
|
|
161
|
+
class PassageScores:
|
|
162
|
+
ordinal: int
|
|
163
|
+
scores: dict[str, float]
|
|
164
|
+
l1_score: float | None = None
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
@dataclass
|
|
168
|
+
class CandidateScores:
|
|
169
|
+
document: dict[str, float]
|
|
170
|
+
passages: list[PassageScores]
|
|
171
|
+
scored_passages: int
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
@dataclass
|
|
175
|
+
class RrfContribution:
|
|
176
|
+
query_index: int
|
|
177
|
+
query_name: str
|
|
178
|
+
rank: int
|
|
179
|
+
score: float
|
|
180
|
+
ordinal: int | None = None
|
|
181
|
+
|
|
182
|
+
|
|
160
183
|
@dataclass
|
|
161
184
|
class SearchHit:
|
|
162
185
|
"""A single search result."""
|
|
@@ -165,6 +188,9 @@ class SearchHit:
|
|
|
165
188
|
score: float
|
|
166
189
|
fields: dict[str, Any] = field(default_factory=dict)
|
|
167
190
|
ordinal_scores: list[OrdinalScore] = field(default_factory=list)
|
|
191
|
+
candidate_scores: CandidateScores | None = None
|
|
192
|
+
rrf_score: float | None = None
|
|
193
|
+
rrf_contributions: list[RrfContribution] = field(default_factory=list)
|
|
168
194
|
|
|
169
195
|
|
|
170
196
|
@dataclass
|
|
@@ -175,6 +201,49 @@ class SearchTimings:
|
|
|
175
201
|
rerank_us: int
|
|
176
202
|
load_us: int
|
|
177
203
|
total_us: int
|
|
204
|
+
candidate_scoring_us: int = 0
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
@dataclass
|
|
208
|
+
class FusionCandidate:
|
|
209
|
+
address: DocAddress
|
|
210
|
+
score: float
|
|
211
|
+
ordinal_scores: list[OrdinalScore] = field(default_factory=list)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
@dataclass
|
|
215
|
+
class FusionCandidateList:
|
|
216
|
+
query_index: int
|
|
217
|
+
candidates: list[FusionCandidate] = field(default_factory=list)
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
@dataclass
|
|
221
|
+
class QueryTrace:
|
|
222
|
+
query_index: int
|
|
223
|
+
query_name: str
|
|
224
|
+
query: dict[str, Any]
|
|
225
|
+
scope: int
|
|
226
|
+
score_only: bool
|
|
227
|
+
candidate_depth: int
|
|
228
|
+
total_seen: int
|
|
229
|
+
candidates: list[FusionCandidate] = field(default_factory=list)
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
@dataclass
|
|
233
|
+
class ShardSearchTrace:
|
|
234
|
+
shard_id: str
|
|
235
|
+
backend_id: str
|
|
236
|
+
index_name: str
|
|
237
|
+
queries: list[QueryTrace]
|
|
238
|
+
selected: list[FusionCandidate]
|
|
239
|
+
ranking_method: str
|
|
240
|
+
truncated: bool
|
|
241
|
+
filters: list[dict[str, Any]] = field(default_factory=list)
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
@dataclass
|
|
245
|
+
class SearchTrace:
|
|
246
|
+
shards: list[ShardSearchTrace] = field(default_factory=list)
|
|
178
247
|
|
|
179
248
|
|
|
180
249
|
@dataclass
|
|
@@ -185,6 +254,10 @@ class SearchResponse:
|
|
|
185
254
|
total_hits: int
|
|
186
255
|
took_ms: int
|
|
187
256
|
timings: SearchTimings | None = None
|
|
257
|
+
ranking_method: str = ""
|
|
258
|
+
truncated: bool = False
|
|
259
|
+
fusion_candidates: list[FusionCandidateList] = field(default_factory=list)
|
|
260
|
+
trace: SearchTrace | None = None
|
|
188
261
|
|
|
189
262
|
|
|
190
263
|
@dataclass
|
|
@@ -206,3 +279,5 @@ class IndexInfo:
|
|
|
206
279
|
num_segments: int
|
|
207
280
|
schema: str
|
|
208
281
|
vector_stats: list[VectorFieldStats] = field(default_factory=list)
|
|
282
|
+
candidate_scoring_version: int = 0
|
|
283
|
+
unprepared_candidate_fields: list[str] = field(default_factory=list)
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
-
# NO CHECKED-IN PROTOBUF GENCODE
|
|
3
|
-
# source: hermes.proto
|
|
4
|
-
# Protobuf Python Version: 6.31.1
|
|
5
|
-
"""Generated protocol buffer code."""
|
|
6
|
-
|
|
7
|
-
from google.protobuf import descriptor as _descriptor
|
|
8
|
-
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
-
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
-
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
-
from google.protobuf.internal import builder as _builder
|
|
12
|
-
|
|
13
|
-
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
14
|
-
_runtime_version.Domain.PUBLIC, 6, 31, 1, "", "hermes.proto"
|
|
15
|
-
)
|
|
16
|
-
# @@protoc_insertion_point(imports)
|
|
17
|
-
|
|
18
|
-
_sym_db = _symbol_database.Default()
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
|
22
|
-
b'\n\x0chermes.proto\x12\x06hermes"\x86\x04\n\x05Query\x12!\n\x04term\x18\x01 \x01(\x0b\x32\x11.hermes.TermQueryH\x00\x12\'\n\x07\x62oolean\x18\x02 \x01(\x0b\x32\x14.hermes.BooleanQueryH\x00\x12#\n\x05\x62oost\x18\x03 \x01(\x0b\x32\x12.hermes.BoostQueryH\x00\x12\x1f\n\x03\x61ll\x18\x04 \x01(\x0b\x32\x10.hermes.AllQueryH\x00\x12\x32\n\rsparse_vector\x18\x05 \x01(\x0b\x32\x19.hermes.SparseVectorQueryH\x00\x12\x30\n\x0c\x64\x65nse_vector\x18\x06 \x01(\x0b\x32\x18.hermes.DenseVectorQueryH\x00\x12#\n\x05match\x18\x07 \x01(\x0b\x32\x12.hermes.MatchQueryH\x00\x12#\n\x05range\x18\x08 \x01(\x0b\x32\x12.hermes.RangeQueryH\x00\x12%\n\x06prefix\x18\t \x01(\x0b\x32\x13.hermes.PrefixQueryH\x00\x12=\n\x13\x62inary_dense_vector\x18\n \x01(\x0b\x32\x1e.hermes.BinaryDenseVectorQueryH\x00\x12%\n\x06\x66usion\x18\x0b \x01(\x0b\x32\x13.hermes.FusionQueryH\x00\x12%\n\x06phrase\x18\x0c \x01(\x0b\x32\x13.hermes.PhraseQueryH\x00\x42\x07\n\x05query"=\n\rWeightedQuery\x12\x1c\n\x05query\x18\x01 \x01(\x0b\x32\r.hermes.Query\x12\x0e\n\x06weight\x18\x02 \x01(\x02"\x98\x01\n\x0b\x46usionQuery\x12&\n\x07queries\x18\x01 \x03(\x0b\x32\x15.hermes.WeightedQuery\x12$\n\x06method\x18\x02 \x01(\x0e\x32\x14.hermes.FusionMethod\x12\r\n\x05rrf_k\x18\x03 \x01(\x02\x12,\n\x08\x63ombiner\x18\x05 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner"\xcb\x02\n\x11SparseVectorQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0f\n\x07indices\x18\x02 \x03(\r\x12\x0e\n\x06values\x18\x03 \x03(\x02\x12\x0c\n\x04text\x18\x04 \x01(\t\x12,\n\x08\x63ombiner\x18\x05 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x13\n\x0bheap_factor\x18\x06 \x01(\x02\x12\x1c\n\x14\x63ombiner_temperature\x18\x07 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x08 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\t \x01(\x02\x12\x18\n\x10weight_threshold\x18\n \x01(\x02\x12\x16\n\x0emax_query_dims\x18\x0b \x01(\r\x12\x0f\n\x07pruning\x18\x0c \x01(\x02\x12\x16\n\tlsp_gamma\x18\r \x01(\rH\x00\x88\x01\x01\x42\x0c\n\n_lsp_gamma"\xbd\x01\n\x10\x44\x65nseVectorQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12\x0e\n\x06nprobe\x18\x03 \x01(\r\x12,\n\x08\x63ombiner\x18\x05 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x1c\n\x14\x63ombiner_temperature\x18\x06 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x07 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\x08 \x01(\x02"\xb3\x01\n\x16\x42inaryDenseVectorQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x01(\x0c\x12,\n\x08\x63ombiner\x18\x03 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x1c\n\x14\x63ombiner_temperature\x18\x04 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x05 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\x06 \x01(\x02"@\n\tTermQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0c\n\x04term\x18\x02 \x01(\t\x12\x16\n\x0etokenizer_hint\x18\x03 \x01(\t"k\n\x0c\x42ooleanQuery\x12\x1b\n\x04must\x18\x01 \x03(\x0b\x32\r.hermes.Query\x12\x1d\n\x06should\x18\x02 \x03(\x0b\x32\r.hermes.Query\x12\x1f\n\x08must_not\x18\x03 \x03(\x0b\x32\r.hermes.Query"9\n\nBoostQuery\x12\x1c\n\x05query\x18\x01 \x01(\x0b\x32\r.hermes.Query\x12\r\n\x05\x62oost\x18\x02 \x01(\x02"\n\n\x08\x41llQuery"\xe7\x01\n\nRangeQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x14\n\x07min_u64\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07max_u64\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07min_i64\x18\x04 \x01(\x03H\x02\x88\x01\x01\x12\x14\n\x07max_i64\x18\x05 \x01(\x03H\x03\x88\x01\x01\x12\x14\n\x07min_f64\x18\x06 \x01(\x01H\x04\x88\x01\x01\x12\x14\n\x07max_f64\x18\x07 \x01(\x01H\x05\x88\x01\x01\x42\n\n\x08_min_u64B\n\n\x08_max_u64B\n\n\x08_min_i64B\n\n\x08_max_i64B\n\n\x08_min_f64B\n\n\x08_max_f64"\x9d\x01\n\nMatchQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x16\n\x0etokenizer_hint\x18\x03 \x01(\t\x12\x18\n\x10proximity_weight\x18\x04 \x01(\x02\x12\x18\n\x10proximity_window\x18\x05 \x01(\r\x12\x13\n\x0bheap_factor\x18\x06 \x01(\x02\x12\x11\n\tmax_terms\x18\x07 \x01(\r"P\n\x0bPhraseQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x0c\n\x04slop\x18\x03 \x01(\r\x12\x16\n\x0etokenizer_hint\x18\x04 \x01(\t",\n\x0bPrefixQuery\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\t"\xe4\x01\n\x08Reranker\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12,\n\x08\x63ombiner\x18\x04 \x01(\x0e\x32\x1a.hermes.MultiValueCombiner\x12\x1c\n\x14\x63ombiner_temperature\x18\x05 \x01(\x02\x12\x16\n\x0e\x63ombiner_top_k\x18\x06 \x01(\r\x12\x16\n\x0e\x63ombiner_decay\x18\x07 \x01(\x02\x12\x17\n\x0fmatryoshka_dims\x18\x08 \x01(\r\x12\x15\n\rbinary_vector\x18\t \x01(\x0c\x12\r\n\x05rrf_k\x18\n \x01(\x02"\xf4\x01\n\rSearchRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x1c\n\x05query\x18\x02 \x01(\x0b\x32\r.hermes.Query\x12\r\n\x05limit\x18\x03 \x01(\r\x12\x0e\n\x06offset\x18\x04 \x01(\r\x12\x16\n\x0e\x66ields_to_load\x18\x05 \x03(\t\x12"\n\x08reranker\x18\x06 \x01(\x0b\x32\x10.hermes.Reranker\x12\x17\n\x0f\x63\x61ndidate_limit\x18\x07 \x01(\r\x12\x16\n\x0etime_budget_ms\x18\x08 \x01(\x04\x12%\n\ntext_stats\x18\t \x01(\x0b\x32\x11.hermes.TextStats"G\n\x13GetTextStatsRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x1c\n\x05query\x18\x02 \x01(\x0b\x32\r.hermes.Query"8\n\x14GetTextStatsResponse\x12 \n\x05stats\x18\x01 \x01(\x0b\x32\x11.hermes.TextStats"G\n\tTextStats\x12\x12\n\ntotal_docs\x18\x01 \x01(\x04\x12&\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x16.hermes.TextFieldStats"i\n\x0eTextFieldStats\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x13\n\x0b\x63orpus_size\x18\x02 \x01(\x04\x12\x0f\n\x07\x61vg_len\x18\x03 \x01(\x02\x12"\n\x05terms\x18\x04 \x03(\x0b\x32\x13.hermes.TermDocFreq"-\n\x0bTermDocFreq\x12\x0c\n\x04term\x18\x01 \x01(\x0c\x12\x10\n\x08\x64oc_freq\x18\x02 \x01(\x04"0\n\nDocAddress\x12\x12\n\nsegment_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64oc_id\x18\x02 \x01(\r"\xe3\x01\n\tSearchHit\x12#\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x12.hermes.DocAddress\x12\r\n\x05score\x18\x02 \x01(\x02\x12-\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x1d.hermes.SearchHit.FieldsEntry\x12,\n\x0eordinal_scores\x18\x04 \x03(\x0b\x32\x14.hermes.OrdinalScore\x1a\x45\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.hermes.FieldValueList:\x02\x38\x01"4\n\x0e\x46ieldValueList\x12"\n\x06values\x18\x01 \x03(\x0b\x32\x12.hermes.FieldValue".\n\x0cOrdinalScore\x12\x0f\n\x07ordinal\x18\x01 \x01(\r\x12\r\n\x05score\x18\x02 \x01(\x02"\xfa\x01\n\nFieldValue\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12\r\n\x03u64\x18\x02 \x01(\x04H\x00\x12\r\n\x03i64\x18\x03 \x01(\x03H\x00\x12\r\n\x03\x66\x36\x34\x18\x04 \x01(\x01H\x00\x12\x15\n\x0b\x62ytes_value\x18\x05 \x01(\x0cH\x00\x12-\n\rsparse_vector\x18\x06 \x01(\x0b\x32\x14.hermes.SparseVectorH\x00\x12+\n\x0c\x64\x65nse_vector\x18\x07 \x01(\x0b\x32\x13.hermes.DenseVectorH\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12\x1d\n\x13\x62inary_dense_vector\x18\t \x01(\x0cH\x00\x42\x07\n\x05value"/\n\x0cSparseVector\x12\x0f\n\x07indices\x18\x01 \x03(\r\x12\x0e\n\x06values\x18\x02 \x03(\x02"\x1d\n\x0b\x44\x65nseVector\x12\x0e\n\x06values\x18\x01 \x03(\x02"\x91\x01\n\x0eSearchResponse\x12\x1f\n\x04hits\x18\x01 \x03(\x0b\x32\x11.hermes.SearchHit\x12\x12\n\ntotal_hits\x18\x02 \x01(\x04\x12\x0f\n\x07took_ms\x18\x03 \x01(\x04\x12&\n\x07timings\x18\x04 \x01(\x0b\x32\x15.hermes.SearchTimings\x12\x11\n\ttruncated\x18\x05 \x01(\x08"X\n\rSearchTimings\x12\x11\n\tsearch_us\x18\x01 \x01(\x04\x12\x11\n\trerank_us\x18\x02 \x01(\x04\x12\x0f\n\x07load_us\x18\x03 \x01(\x04\x12\x10\n\x08total_us\x18\x04 \x01(\x04"M\n\x12GetDocumentRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12#\n\x07\x61\x64\x64ress\x18\x02 \x01(\x0b\x32\x12.hermes.DocAddress"\x95\x01\n\x13GetDocumentResponse\x12\x37\n\x06\x66ields\x18\x01 \x03(\x0b\x32\'.hermes.GetDocumentResponse.FieldsEntry\x1a\x45\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.hermes.FieldValueList:\x02\x38\x01")\n\x13GetIndexInfoRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"\xe9\x01\n\x14GetIndexInfoResponse\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x10\n\x08num_docs\x18\x02 \x01(\r\x12\x14\n\x0cnum_segments\x18\x03 \x01(\r\x12\x0e\n\x06schema\x18\x04 \x01(\t\x12)\n\x0cmemory_stats\x18\x05 \x01(\x0b\x32\x13.hermes.MemoryStats\x12.\n\x0cvector_stats\x18\x06 \x03(\x0b\x32\x18.hermes.VectorFieldStats\x12*\n\x0btext_fields\x18\x07 \x03(\x0b\x32\x15.hermes.TextFieldInfo"y\n\rTextFieldInfo\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x0f\n\x07lexical\x18\x02 \x01(\x08\x12\x12\n\nhint_field\x18\x03 \x01(\t\x12\x10\n\x08variants\x18\x04 \x01(\x08\x12\x11\n\tpositions\x18\x05 \x01(\x08\x12\x0f\n\x07\x63hunked\x18\x06 \x01(\x08"\x83\x01\n\x10VectorFieldStats\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0bvector_type\x18\x02 \x01(\t\x12\x15\n\rtotal_vectors\x18\x03 \x01(\x04\x12\x11\n\tdimension\x18\x04 \x01(\r\x12\x1c\n\x14\x61vg_terms_per_vector\x18\x05 \x01(\x02"\x8c\x01\n\x0bMemoryStats\x12\x13\n\x0btotal_bytes\x18\x01 \x01(\x04\x12\x34\n\x0findexing_buffer\x18\x02 \x01(\x0b\x32\x1b.hermes.IndexingBufferStats\x12\x32\n\x0esegment_reader\x18\x03 \x01(\x0b\x32\x1a.hermes.SegmentReaderStats"\xdf\x01\n\x13IndexingBufferStats\x12\x13\n\x0btotal_bytes\x18\x01 \x01(\x04\x12\x16\n\x0epostings_bytes\x18\x02 \x01(\x04\x12\x1c\n\x14sparse_vectors_bytes\x18\x03 \x01(\x04\x12\x1b\n\x13\x64\x65nse_vectors_bytes\x18\x04 \x01(\x04\x12\x16\n\x0einterner_bytes\x18\x05 \x01(\x04\x12\x1c\n\x14position_index_bytes\x18\x06 \x01(\x04\x12\x14\n\x0cpending_docs\x18\x07 \x01(\r\x12\x14\n\x0cunique_terms\x18\x08 \x01(\r"\xb7\x01\n\x12SegmentReaderStats\x12\x13\n\x0btotal_bytes\x18\x01 \x01(\x04\x12\x1d\n\x15term_dict_cache_bytes\x18\x02 \x01(\x04\x12\x19\n\x11store_cache_bytes\x18\x03 \x01(\x04\x12\x1a\n\x12sparse_index_bytes\x18\x04 \x01(\x04\x12\x19\n\x11\x64\x65nse_index_bytes\x18\x05 \x01(\x04\x12\x1b\n\x13num_segments_loaded\x18\x06 \x01(\r"8\n\x12\x43reateIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t"&\n\x13\x43reateIndexResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08"=\n\nFieldEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.hermes.FieldValue"3\n\rNamedDocument\x12"\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x12.hermes.FieldEntry"Z\n\x1a\x42\x61tchIndexDocumentsRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12(\n\tdocuments\x18\x02 \x03(\x0b\x32\x15.hermes.NamedDocument"p\n\x1b\x42\x61tchIndexDocumentsResponse\x12\x15\n\rindexed_count\x18\x01 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\x02 \x01(\r\x12%\n\x06\x65rrors\x18\x03 \x03(\x0b\x32\x15.hermes.DocumentError"-\n\rDocumentError\x12\r\n\x05index\x18\x01 \x01(\r\x12\r\n\x05\x65rror\x18\x02 \x01(\t"N\n\x14IndexDocumentRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12"\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x12.hermes.FieldEntry"V\n\x16IndexDocumentsResponse\x12\x15\n\rindexed_count\x18\x01 \x01(\r\x12%\n\x06\x65rrors\x18\x02 \x03(\x0b\x32\x15.hermes.DocumentError"#\n\rCommitRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"3\n\x0e\x43ommitResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x10\n\x08num_docs\x18\x02 \x01(\r"\'\n\x11\x46orceMergeRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t";\n\x12\x46orceMergeResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0cnum_segments\x18\x02 \x01(\r"(\n\x12\x44\x65leteIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"&\n\x13\x44\x65leteIndexResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08"\x14\n\x12ListIndexesRequest"*\n\x13ListIndexesResponse\x12\x13\n\x0bindex_names\x18\x01 \x03(\t"/\n\x19RetrainVectorIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"-\n\x1aRetrainVectorIndexResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08"W\n\x17\x41lterVectorIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x14\n\x0c\x66ield_schema\x18\x03 \x01(\t"h\n\x18\x41lterVectorIndexResponse\x12\x1e\n\x16publication_generation\x18\x01 \x01(\x04\x12,\n\x05state\x18\x02 \x01(\x0e\x32\x1d.hermes.VectorIndexAlterState"$\n\x0eReorderRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t"8\n\x0fReorderResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0cnum_segments\x18\x02 \x01(\r*B\n\x0c\x46usionMethod\x12\x0e\n\nFUSION_RRF\x10\x00\x12"\n\x1e\x46USION_NORMALIZED_WEIGHTED_SUM\x10\x01*\x81\x01\n\x12MultiValueCombiner\x12\x18\n\x14\x43OMBINER_LOG_SUM_EXP\x10\x00\x12\x10\n\x0c\x43OMBINER_MAX\x10\x01\x12\x10\n\x0c\x43OMBINER_AVG\x10\x02\x12\x10\n\x0c\x43OMBINER_SUM\x10\x03\x12\x1b\n\x17\x43OMBINER_WEIGHTED_TOP_K\x10\x04*\xbf\x01\n\x15VectorIndexAlterState\x12(\n$VECTOR_INDEX_ALTER_STATE_UNSPECIFIED\x10\x00\x12"\n\x1eVECTOR_INDEX_ALTER_STATE_BUILT\x10\x01\x12*\n&VECTOR_INDEX_ALTER_STATE_DEFERRED_FLAT\x10\x02\x12,\n(VECTOR_INDEX_ALTER_STATE_PARAMETERS_ONLY\x10\x03\x32\xa6\x02\n\rSearchService\x12\x37\n\x06Search\x12\x15.hermes.SearchRequest\x1a\x16.hermes.SearchResponse\x12\x46\n\x0bGetDocument\x12\x1a.hermes.GetDocumentRequest\x1a\x1b.hermes.GetDocumentResponse\x12I\n\x0cGetIndexInfo\x12\x1b.hermes.GetIndexInfoRequest\x1a\x1c.hermes.GetIndexInfoResponse\x12I\n\x0cGetTextStats\x12\x1b.hermes.GetTextStatsRequest\x1a\x1c.hermes.GetTextStatsResponse2\x86\x06\n\x0cIndexService\x12\x46\n\x0b\x43reateIndex\x12\x1a.hermes.CreateIndexRequest\x1a\x1b.hermes.CreateIndexResponse\x12P\n\x0eIndexDocuments\x12\x1c.hermes.IndexDocumentRequest\x1a\x1e.hermes.IndexDocumentsResponse(\x01\x12^\n\x13\x42\x61tchIndexDocuments\x12".hermes.BatchIndexDocumentsRequest\x1a#.hermes.BatchIndexDocumentsResponse\x12\x37\n\x06\x43ommit\x12\x15.hermes.CommitRequest\x1a\x16.hermes.CommitResponse\x12\x43\n\nForceMerge\x12\x19.hermes.ForceMergeRequest\x1a\x1a.hermes.ForceMergeResponse\x12:\n\x07Reorder\x12\x16.hermes.ReorderRequest\x1a\x17.hermes.ReorderResponse\x12\x46\n\x0b\x44\x65leteIndex\x12\x1a.hermes.DeleteIndexRequest\x1a\x1b.hermes.DeleteIndexResponse\x12\x46\n\x0bListIndexes\x12\x1a.hermes.ListIndexesRequest\x1a\x1b.hermes.ListIndexesResponse\x12[\n\x12RetrainVectorIndex\x12!.hermes.RetrainVectorIndexRequest\x1a".hermes.RetrainVectorIndexResponse\x12U\n\x10\x41lterVectorIndex\x12\x1f.hermes.AlterVectorIndexRequest\x1a .hermes.AlterVectorIndexResponseb\x06proto3'
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
_globals = globals()
|
|
26
|
-
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
27
|
-
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "hermes_pb2", _globals)
|
|
28
|
-
if not _descriptor._USE_C_DESCRIPTORS:
|
|
29
|
-
DESCRIPTOR._loaded_options = None
|
|
30
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._loaded_options = None
|
|
31
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_options = b"8\001"
|
|
32
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._loaded_options = None
|
|
33
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_options = b"8\001"
|
|
34
|
-
_globals["_FUSIONMETHOD"]._serialized_start = 6712
|
|
35
|
-
_globals["_FUSIONMETHOD"]._serialized_end = 6778
|
|
36
|
-
_globals["_MULTIVALUECOMBINER"]._serialized_start = 6781
|
|
37
|
-
_globals["_MULTIVALUECOMBINER"]._serialized_end = 6910
|
|
38
|
-
_globals["_VECTORINDEXALTERSTATE"]._serialized_start = 6913
|
|
39
|
-
_globals["_VECTORINDEXALTERSTATE"]._serialized_end = 7104
|
|
40
|
-
_globals["_QUERY"]._serialized_start = 25
|
|
41
|
-
_globals["_QUERY"]._serialized_end = 543
|
|
42
|
-
_globals["_WEIGHTEDQUERY"]._serialized_start = 545
|
|
43
|
-
_globals["_WEIGHTEDQUERY"]._serialized_end = 606
|
|
44
|
-
_globals["_FUSIONQUERY"]._serialized_start = 609
|
|
45
|
-
_globals["_FUSIONQUERY"]._serialized_end = 761
|
|
46
|
-
_globals["_SPARSEVECTORQUERY"]._serialized_start = 764
|
|
47
|
-
_globals["_SPARSEVECTORQUERY"]._serialized_end = 1095
|
|
48
|
-
_globals["_DENSEVECTORQUERY"]._serialized_start = 1098
|
|
49
|
-
_globals["_DENSEVECTORQUERY"]._serialized_end = 1287
|
|
50
|
-
_globals["_BINARYDENSEVECTORQUERY"]._serialized_start = 1290
|
|
51
|
-
_globals["_BINARYDENSEVECTORQUERY"]._serialized_end = 1469
|
|
52
|
-
_globals["_TERMQUERY"]._serialized_start = 1471
|
|
53
|
-
_globals["_TERMQUERY"]._serialized_end = 1535
|
|
54
|
-
_globals["_BOOLEANQUERY"]._serialized_start = 1537
|
|
55
|
-
_globals["_BOOLEANQUERY"]._serialized_end = 1644
|
|
56
|
-
_globals["_BOOSTQUERY"]._serialized_start = 1646
|
|
57
|
-
_globals["_BOOSTQUERY"]._serialized_end = 1703
|
|
58
|
-
_globals["_ALLQUERY"]._serialized_start = 1705
|
|
59
|
-
_globals["_ALLQUERY"]._serialized_end = 1715
|
|
60
|
-
_globals["_RANGEQUERY"]._serialized_start = 1718
|
|
61
|
-
_globals["_RANGEQUERY"]._serialized_end = 1949
|
|
62
|
-
_globals["_MATCHQUERY"]._serialized_start = 1952
|
|
63
|
-
_globals["_MATCHQUERY"]._serialized_end = 2109
|
|
64
|
-
_globals["_PHRASEQUERY"]._serialized_start = 2111
|
|
65
|
-
_globals["_PHRASEQUERY"]._serialized_end = 2191
|
|
66
|
-
_globals["_PREFIXQUERY"]._serialized_start = 2193
|
|
67
|
-
_globals["_PREFIXQUERY"]._serialized_end = 2237
|
|
68
|
-
_globals["_RERANKER"]._serialized_start = 2240
|
|
69
|
-
_globals["_RERANKER"]._serialized_end = 2468
|
|
70
|
-
_globals["_SEARCHREQUEST"]._serialized_start = 2471
|
|
71
|
-
_globals["_SEARCHREQUEST"]._serialized_end = 2715
|
|
72
|
-
_globals["_GETTEXTSTATSREQUEST"]._serialized_start = 2717
|
|
73
|
-
_globals["_GETTEXTSTATSREQUEST"]._serialized_end = 2788
|
|
74
|
-
_globals["_GETTEXTSTATSRESPONSE"]._serialized_start = 2790
|
|
75
|
-
_globals["_GETTEXTSTATSRESPONSE"]._serialized_end = 2846
|
|
76
|
-
_globals["_TEXTSTATS"]._serialized_start = 2848
|
|
77
|
-
_globals["_TEXTSTATS"]._serialized_end = 2919
|
|
78
|
-
_globals["_TEXTFIELDSTATS"]._serialized_start = 2921
|
|
79
|
-
_globals["_TEXTFIELDSTATS"]._serialized_end = 3026
|
|
80
|
-
_globals["_TERMDOCFREQ"]._serialized_start = 3028
|
|
81
|
-
_globals["_TERMDOCFREQ"]._serialized_end = 3073
|
|
82
|
-
_globals["_DOCADDRESS"]._serialized_start = 3075
|
|
83
|
-
_globals["_DOCADDRESS"]._serialized_end = 3123
|
|
84
|
-
_globals["_SEARCHHIT"]._serialized_start = 3126
|
|
85
|
-
_globals["_SEARCHHIT"]._serialized_end = 3353
|
|
86
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_start = 3284
|
|
87
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_end = 3353
|
|
88
|
-
_globals["_FIELDVALUELIST"]._serialized_start = 3355
|
|
89
|
-
_globals["_FIELDVALUELIST"]._serialized_end = 3407
|
|
90
|
-
_globals["_ORDINALSCORE"]._serialized_start = 3409
|
|
91
|
-
_globals["_ORDINALSCORE"]._serialized_end = 3455
|
|
92
|
-
_globals["_FIELDVALUE"]._serialized_start = 3458
|
|
93
|
-
_globals["_FIELDVALUE"]._serialized_end = 3708
|
|
94
|
-
_globals["_SPARSEVECTOR"]._serialized_start = 3710
|
|
95
|
-
_globals["_SPARSEVECTOR"]._serialized_end = 3757
|
|
96
|
-
_globals["_DENSEVECTOR"]._serialized_start = 3759
|
|
97
|
-
_globals["_DENSEVECTOR"]._serialized_end = 3788
|
|
98
|
-
_globals["_SEARCHRESPONSE"]._serialized_start = 3791
|
|
99
|
-
_globals["_SEARCHRESPONSE"]._serialized_end = 3936
|
|
100
|
-
_globals["_SEARCHTIMINGS"]._serialized_start = 3938
|
|
101
|
-
_globals["_SEARCHTIMINGS"]._serialized_end = 4026
|
|
102
|
-
_globals["_GETDOCUMENTREQUEST"]._serialized_start = 4028
|
|
103
|
-
_globals["_GETDOCUMENTREQUEST"]._serialized_end = 4105
|
|
104
|
-
_globals["_GETDOCUMENTRESPONSE"]._serialized_start = 4108
|
|
105
|
-
_globals["_GETDOCUMENTRESPONSE"]._serialized_end = 4257
|
|
106
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_start = 3284
|
|
107
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_end = 3353
|
|
108
|
-
_globals["_GETINDEXINFOREQUEST"]._serialized_start = 4259
|
|
109
|
-
_globals["_GETINDEXINFOREQUEST"]._serialized_end = 4300
|
|
110
|
-
_globals["_GETINDEXINFORESPONSE"]._serialized_start = 4303
|
|
111
|
-
_globals["_GETINDEXINFORESPONSE"]._serialized_end = 4536
|
|
112
|
-
_globals["_TEXTFIELDINFO"]._serialized_start = 4538
|
|
113
|
-
_globals["_TEXTFIELDINFO"]._serialized_end = 4659
|
|
114
|
-
_globals["_VECTORFIELDSTATS"]._serialized_start = 4662
|
|
115
|
-
_globals["_VECTORFIELDSTATS"]._serialized_end = 4793
|
|
116
|
-
_globals["_MEMORYSTATS"]._serialized_start = 4796
|
|
117
|
-
_globals["_MEMORYSTATS"]._serialized_end = 4936
|
|
118
|
-
_globals["_INDEXINGBUFFERSTATS"]._serialized_start = 4939
|
|
119
|
-
_globals["_INDEXINGBUFFERSTATS"]._serialized_end = 5162
|
|
120
|
-
_globals["_SEGMENTREADERSTATS"]._serialized_start = 5165
|
|
121
|
-
_globals["_SEGMENTREADERSTATS"]._serialized_end = 5348
|
|
122
|
-
_globals["_CREATEINDEXREQUEST"]._serialized_start = 5350
|
|
123
|
-
_globals["_CREATEINDEXREQUEST"]._serialized_end = 5406
|
|
124
|
-
_globals["_CREATEINDEXRESPONSE"]._serialized_start = 5408
|
|
125
|
-
_globals["_CREATEINDEXRESPONSE"]._serialized_end = 5446
|
|
126
|
-
_globals["_FIELDENTRY"]._serialized_start = 5448
|
|
127
|
-
_globals["_FIELDENTRY"]._serialized_end = 5509
|
|
128
|
-
_globals["_NAMEDDOCUMENT"]._serialized_start = 5511
|
|
129
|
-
_globals["_NAMEDDOCUMENT"]._serialized_end = 5562
|
|
130
|
-
_globals["_BATCHINDEXDOCUMENTSREQUEST"]._serialized_start = 5564
|
|
131
|
-
_globals["_BATCHINDEXDOCUMENTSREQUEST"]._serialized_end = 5654
|
|
132
|
-
_globals["_BATCHINDEXDOCUMENTSRESPONSE"]._serialized_start = 5656
|
|
133
|
-
_globals["_BATCHINDEXDOCUMENTSRESPONSE"]._serialized_end = 5768
|
|
134
|
-
_globals["_DOCUMENTERROR"]._serialized_start = 5770
|
|
135
|
-
_globals["_DOCUMENTERROR"]._serialized_end = 5815
|
|
136
|
-
_globals["_INDEXDOCUMENTREQUEST"]._serialized_start = 5817
|
|
137
|
-
_globals["_INDEXDOCUMENTREQUEST"]._serialized_end = 5895
|
|
138
|
-
_globals["_INDEXDOCUMENTSRESPONSE"]._serialized_start = 5897
|
|
139
|
-
_globals["_INDEXDOCUMENTSRESPONSE"]._serialized_end = 5983
|
|
140
|
-
_globals["_COMMITREQUEST"]._serialized_start = 5985
|
|
141
|
-
_globals["_COMMITREQUEST"]._serialized_end = 6020
|
|
142
|
-
_globals["_COMMITRESPONSE"]._serialized_start = 6022
|
|
143
|
-
_globals["_COMMITRESPONSE"]._serialized_end = 6073
|
|
144
|
-
_globals["_FORCEMERGEREQUEST"]._serialized_start = 6075
|
|
145
|
-
_globals["_FORCEMERGEREQUEST"]._serialized_end = 6114
|
|
146
|
-
_globals["_FORCEMERGERESPONSE"]._serialized_start = 6116
|
|
147
|
-
_globals["_FORCEMERGERESPONSE"]._serialized_end = 6175
|
|
148
|
-
_globals["_DELETEINDEXREQUEST"]._serialized_start = 6177
|
|
149
|
-
_globals["_DELETEINDEXREQUEST"]._serialized_end = 6217
|
|
150
|
-
_globals["_DELETEINDEXRESPONSE"]._serialized_start = 6219
|
|
151
|
-
_globals["_DELETEINDEXRESPONSE"]._serialized_end = 6257
|
|
152
|
-
_globals["_LISTINDEXESREQUEST"]._serialized_start = 6259
|
|
153
|
-
_globals["_LISTINDEXESREQUEST"]._serialized_end = 6279
|
|
154
|
-
_globals["_LISTINDEXESRESPONSE"]._serialized_start = 6281
|
|
155
|
-
_globals["_LISTINDEXESRESPONSE"]._serialized_end = 6323
|
|
156
|
-
_globals["_RETRAINVECTORINDEXREQUEST"]._serialized_start = 6325
|
|
157
|
-
_globals["_RETRAINVECTORINDEXREQUEST"]._serialized_end = 6372
|
|
158
|
-
_globals["_RETRAINVECTORINDEXRESPONSE"]._serialized_start = 6374
|
|
159
|
-
_globals["_RETRAINVECTORINDEXRESPONSE"]._serialized_end = 6419
|
|
160
|
-
_globals["_ALTERVECTORINDEXREQUEST"]._serialized_start = 6421
|
|
161
|
-
_globals["_ALTERVECTORINDEXREQUEST"]._serialized_end = 6508
|
|
162
|
-
_globals["_ALTERVECTORINDEXRESPONSE"]._serialized_start = 6510
|
|
163
|
-
_globals["_ALTERVECTORINDEXRESPONSE"]._serialized_end = 6614
|
|
164
|
-
_globals["_REORDERREQUEST"]._serialized_start = 6616
|
|
165
|
-
_globals["_REORDERREQUEST"]._serialized_end = 6652
|
|
166
|
-
_globals["_REORDERRESPONSE"]._serialized_start = 6654
|
|
167
|
-
_globals["_REORDERRESPONSE"]._serialized_end = 6710
|
|
168
|
-
_globals["_SEARCHSERVICE"]._serialized_start = 7107
|
|
169
|
-
_globals["_SEARCHSERVICE"]._serialized_end = 7401
|
|
170
|
-
_globals["_INDEXSERVICE"]._serialized_start = 7404
|
|
171
|
-
_globals["_INDEXSERVICE"]._serialized_end = 8178
|
|
172
|
-
# @@protoc_insertion_point(module_scope)
|
|
File without changes
|
|
File without changes
|