hermes-client-python 1.8.127__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.127 → hermes_client_python-1.8.128}/PKG-INFO +61 -1
- {hermes_client_python-1.8.127 → hermes_client_python-1.8.128}/README.md +60 -0
- {hermes_client_python-1.8.127 → hermes_client_python-1.8.128}/pyproject.toml +1 -1
- {hermes_client_python-1.8.127 → hermes_client_python-1.8.128}/src/hermes_client_python/__init__.py +8 -0
- {hermes_client_python-1.8.127 → hermes_client_python-1.8.128}/src/hermes_client_python/client.py +89 -2
- hermes_client_python-1.8.128/src/hermes_client_python/hermes_pb2.py +206 -0
- {hermes_client_python-1.8.127 → hermes_client_python-1.8.128}/src/hermes_client_python/types.py +41 -0
- hermes_client_python-1.8.127/src/hermes_client_python/hermes_pb2.py +0 -208
- {hermes_client_python-1.8.127 → hermes_client_python-1.8.128}/.gitignore +0 -0
- {hermes_client_python-1.8.127 → 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.127 → hermes_client_python-1.8.128}/src/hermes_client_python/__init__.py
RENAMED
|
@@ -19,11 +19,15 @@ from .types import (
|
|
|
19
19
|
MatchQuery,
|
|
20
20
|
OrdinalScore,
|
|
21
21
|
PassageScores,
|
|
22
|
+
QueryTrace,
|
|
22
23
|
RangeQuery,
|
|
23
24
|
Reranker,
|
|
25
|
+
RrfContribution,
|
|
24
26
|
SearchHit,
|
|
25
27
|
SearchResponse,
|
|
26
28
|
SearchTimings,
|
|
29
|
+
SearchTrace,
|
|
30
|
+
ShardSearchTrace,
|
|
27
31
|
SparseVectorQuery,
|
|
28
32
|
TermQuery,
|
|
29
33
|
VectorFieldStats,
|
|
@@ -40,6 +44,10 @@ __all__ = [
|
|
|
40
44
|
"FusionCandidate",
|
|
41
45
|
"FusionCandidateList",
|
|
42
46
|
"PassageScores",
|
|
47
|
+
"RrfContribution",
|
|
48
|
+
"QueryTrace",
|
|
49
|
+
"SearchTrace",
|
|
50
|
+
"ShardSearchTrace",
|
|
43
51
|
"DenseVectorQuery",
|
|
44
52
|
"DocAddress",
|
|
45
53
|
"Document",
|
{hermes_client_python-1.8.127 → hermes_client_python-1.8.128}/src/hermes_client_python/client.py
RENAMED
|
@@ -11,6 +11,7 @@ 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
|
|
@@ -24,9 +25,13 @@ from .types import (
|
|
|
24
25
|
IndexInfo,
|
|
25
26
|
OrdinalScore,
|
|
26
27
|
PassageScores,
|
|
28
|
+
QueryTrace,
|
|
29
|
+
RrfContribution,
|
|
27
30
|
SearchHit,
|
|
28
31
|
SearchResponse,
|
|
29
32
|
SearchTimings,
|
|
33
|
+
SearchTrace,
|
|
34
|
+
ShardSearchTrace,
|
|
30
35
|
VectorFieldStats,
|
|
31
36
|
)
|
|
32
37
|
|
|
@@ -393,6 +398,8 @@ class HermesClient:
|
|
|
393
398
|
candidate_limit: int = 0,
|
|
394
399
|
l1: dict[str, Any] | None = None,
|
|
395
400
|
score_export: dict[str, Any] | None = None,
|
|
401
|
+
include_rrf_scores: bool = False,
|
|
402
|
+
tracing: bool = False,
|
|
396
403
|
timeout: float | None = None,
|
|
397
404
|
) -> SearchResponse:
|
|
398
405
|
"""Search for documents.
|
|
@@ -415,6 +422,10 @@ class HermesClient:
|
|
|
415
422
|
reranker: Reranker dict matching proto Reranker message
|
|
416
423
|
candidate_limit: Shared first-stage candidate pool. Zero uses the
|
|
417
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.
|
|
418
429
|
|
|
419
430
|
Returns:
|
|
420
431
|
SearchResponse with hits
|
|
@@ -482,6 +493,8 @@ class HermesClient:
|
|
|
482
493
|
reranker=pb_reranker,
|
|
483
494
|
candidate_limit=candidate_limit,
|
|
484
495
|
l1=pb.L1Ranking(**l1) if l1 is not None else None,
|
|
496
|
+
include_rrf_scores=include_rrf_scores,
|
|
497
|
+
tracing=tracing,
|
|
485
498
|
score_export=pb.ScoreExport(**score_export)
|
|
486
499
|
if score_export is not None
|
|
487
500
|
else None,
|
|
@@ -491,12 +504,22 @@ class HermesClient:
|
|
|
491
504
|
request, timeout=self._deadline(timeout)
|
|
492
505
|
)
|
|
493
506
|
|
|
494
|
-
|
|
507
|
+
expected_l1 = "formula_v1"
|
|
508
|
+
if l1 is not None and response.ranking_method != expected_l1:
|
|
495
509
|
raise RuntimeError(
|
|
496
|
-
"L1 requires a backend with
|
|
510
|
+
f"L1 requires a backend with {expected_l1} ranking semantics; "
|
|
497
511
|
f"received {response.ranking_method!r}"
|
|
498
512
|
)
|
|
499
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
|
+
|
|
500
523
|
hits = [
|
|
501
524
|
SearchHit(
|
|
502
525
|
address=DocAddress(
|
|
@@ -504,6 +527,17 @@ class HermesClient:
|
|
|
504
527
|
doc_id=hit.address.doc_id,
|
|
505
528
|
),
|
|
506
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
|
+
],
|
|
507
541
|
fields={k: _from_field_value_list(v) for k, v in hit.fields.items()},
|
|
508
542
|
candidate_scores=CandidateScores(
|
|
509
543
|
document=dict(hit.candidate_scores.document),
|
|
@@ -541,6 +575,9 @@ class HermesClient:
|
|
|
541
575
|
return SearchResponse(
|
|
542
576
|
hits=hits,
|
|
543
577
|
total_hits=response.total_hits,
|
|
578
|
+
trace=_from_search_trace(response.trace)
|
|
579
|
+
if response.HasField("trace")
|
|
580
|
+
else None,
|
|
544
581
|
took_ms=response.took_ms,
|
|
545
582
|
timings=timings,
|
|
546
583
|
ranking_method=response.ranking_method,
|
|
@@ -989,3 +1026,53 @@ def _build_reranker(r: dict[str, Any]) -> pb.Reranker:
|
|
|
989
1026
|
binary_vector=r.get("binary_vector", b""),
|
|
990
1027
|
rrf_k=r.get("rrf_k", 0),
|
|
991
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.127 → hermes_client_python-1.8.128}/src/hermes_client_python/types.py
RENAMED
|
@@ -171,6 +171,15 @@ class CandidateScores:
|
|
|
171
171
|
scored_passages: int
|
|
172
172
|
|
|
173
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
|
+
|
|
174
183
|
@dataclass
|
|
175
184
|
class SearchHit:
|
|
176
185
|
"""A single search result."""
|
|
@@ -180,6 +189,8 @@ class SearchHit:
|
|
|
180
189
|
fields: dict[str, Any] = field(default_factory=dict)
|
|
181
190
|
ordinal_scores: list[OrdinalScore] = field(default_factory=list)
|
|
182
191
|
candidate_scores: CandidateScores | None = None
|
|
192
|
+
rrf_score: float | None = None
|
|
193
|
+
rrf_contributions: list[RrfContribution] = field(default_factory=list)
|
|
183
194
|
|
|
184
195
|
|
|
185
196
|
@dataclass
|
|
@@ -206,6 +217,35 @@ class FusionCandidateList:
|
|
|
206
217
|
candidates: list[FusionCandidate] = field(default_factory=list)
|
|
207
218
|
|
|
208
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)
|
|
247
|
+
|
|
248
|
+
|
|
209
249
|
@dataclass
|
|
210
250
|
class SearchResponse:
|
|
211
251
|
"""Search response with hits and metadata."""
|
|
@@ -217,6 +257,7 @@ class SearchResponse:
|
|
|
217
257
|
ranking_method: str = ""
|
|
218
258
|
truncated: bool = False
|
|
219
259
|
fusion_candidates: list[FusionCandidateList] = field(default_factory=list)
|
|
260
|
+
trace: SearchTrace | None = None
|
|
220
261
|
|
|
221
262
|
|
|
222
263
|
@dataclass
|
|
@@ -1,208 +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"\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"V\n\x10\x46\x65\x61tureTransform\x12\x14\n\x0csigned_log1p\x18\x01 \x01(\x08\x12\x12\n\x05scale\x18\x02 \x01(\x01H\x00\x88\x01\x01\x12\x0e\n\x06offset\x18\x03 \x01(\x01\x42\x08\n\x06_scale"\x96\x03\n\tL1Ranking\x12/\n\x07weights\x18\x01 \x03(\x0b\x32\x1e.hermes.L1Ranking.WeightsEntry\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x01\x12\x35\n\ntransforms\x18\x03 \x03(\x0b\x32!.hermes.L1Ranking.TransformsEntry\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\x1a.\n\x0cWeightsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1aK\n\x0fTransformsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.hermes.FeatureTransform:\x02\x38\x01\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_backfill"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"\xbe\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"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"\x96\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\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"\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"\xe1\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\x12\x16\n\x0eranking_method\x18\x06 \x01(\t\x12\x36\n\x11\x66usion_candidates\x18\x07 \x03(\x0b\x32\x1b.hermes.FusionCandidateList"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_WEIGHTSENTRY"]._loaded_options = None
|
|
31
|
-
_globals["_L1RANKING_WEIGHTSENTRY"]._serialized_options = b"8\001"
|
|
32
|
-
_globals["_L1RANKING_TRANSFORMSENTRY"]._loaded_options = None
|
|
33
|
-
_globals["_L1RANKING_TRANSFORMSENTRY"]._serialized_options = b"8\001"
|
|
34
|
-
_globals["_L1RANKING_MISSINGVALUESENTRY"]._loaded_options = None
|
|
35
|
-
_globals["_L1RANKING_MISSINGVALUESENTRY"]._serialized_options = b"8\001"
|
|
36
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._loaded_options = None
|
|
37
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_options = b"8\001"
|
|
38
|
-
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._loaded_options = None
|
|
39
|
-
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._serialized_options = b"8\001"
|
|
40
|
-
_globals["_PASSAGESCORES_SCORESENTRY"]._loaded_options = None
|
|
41
|
-
_globals["_PASSAGESCORES_SCORESENTRY"]._serialized_options = b"8\001"
|
|
42
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._loaded_options = None
|
|
43
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_options = b"8\001"
|
|
44
|
-
_globals["_FUSIONMETHOD"]._serialized_start = 8278
|
|
45
|
-
_globals["_FUSIONMETHOD"]._serialized_end = 8367
|
|
46
|
-
_globals["_SCORESCOPE"]._serialized_start = 8369
|
|
47
|
-
_globals["_SCORESCOPE"]._serialized_end = 8459
|
|
48
|
-
_globals["_MULTIVALUECOMBINER"]._serialized_start = 8462
|
|
49
|
-
_globals["_MULTIVALUECOMBINER"]._serialized_end = 8591
|
|
50
|
-
_globals["_VECTORINDEXALTERSTATE"]._serialized_start = 8594
|
|
51
|
-
_globals["_VECTORINDEXALTERSTATE"]._serialized_end = 8785
|
|
52
|
-
_globals["_QUERY"]._serialized_start = 25
|
|
53
|
-
_globals["_QUERY"]._serialized_end = 543
|
|
54
|
-
_globals["_WEIGHTEDQUERY"]._serialized_start = 546
|
|
55
|
-
_globals["_WEIGHTEDQUERY"]._serialized_end = 676
|
|
56
|
-
_globals["_FUSIONQUERY"]._serialized_start = 679
|
|
57
|
-
_globals["_FUSIONQUERY"]._serialized_end = 888
|
|
58
|
-
_globals["_FEATURETRANSFORM"]._serialized_start = 890
|
|
59
|
-
_globals["_FEATURETRANSFORM"]._serialized_end = 976
|
|
60
|
-
_globals["_L1RANKING"]._serialized_start = 979
|
|
61
|
-
_globals["_L1RANKING"]._serialized_end = 1385
|
|
62
|
-
_globals["_L1RANKING_WEIGHTSENTRY"]._serialized_start = 1195
|
|
63
|
-
_globals["_L1RANKING_WEIGHTSENTRY"]._serialized_end = 1241
|
|
64
|
-
_globals["_L1RANKING_TRANSFORMSENTRY"]._serialized_start = 1243
|
|
65
|
-
_globals["_L1RANKING_TRANSFORMSENTRY"]._serialized_end = 1318
|
|
66
|
-
_globals["_L1RANKING_MISSINGVALUESENTRY"]._serialized_start = 1320
|
|
67
|
-
_globals["_L1RANKING_MISSINGVALUESENTRY"]._serialized_end = 1372
|
|
68
|
-
_globals["_SCOREEXPORT"]._serialized_start = 1387
|
|
69
|
-
_globals["_SCOREEXPORT"]._serialized_end = 1453
|
|
70
|
-
_globals["_SPARSEVECTORQUERY"]._serialized_start = 1456
|
|
71
|
-
_globals["_SPARSEVECTORQUERY"]._serialized_end = 1787
|
|
72
|
-
_globals["_DENSEVECTORQUERY"]._serialized_start = 1790
|
|
73
|
-
_globals["_DENSEVECTORQUERY"]._serialized_end = 1979
|
|
74
|
-
_globals["_BINARYDENSEVECTORQUERY"]._serialized_start = 1982
|
|
75
|
-
_globals["_BINARYDENSEVECTORQUERY"]._serialized_end = 2161
|
|
76
|
-
_globals["_TERMQUERY"]._serialized_start = 2163
|
|
77
|
-
_globals["_TERMQUERY"]._serialized_end = 2227
|
|
78
|
-
_globals["_BOOLEANQUERY"]._serialized_start = 2229
|
|
79
|
-
_globals["_BOOLEANQUERY"]._serialized_end = 2336
|
|
80
|
-
_globals["_BOOSTQUERY"]._serialized_start = 2338
|
|
81
|
-
_globals["_BOOSTQUERY"]._serialized_end = 2395
|
|
82
|
-
_globals["_ALLQUERY"]._serialized_start = 2397
|
|
83
|
-
_globals["_ALLQUERY"]._serialized_end = 2407
|
|
84
|
-
_globals["_RANGEQUERY"]._serialized_start = 2410
|
|
85
|
-
_globals["_RANGEQUERY"]._serialized_end = 2641
|
|
86
|
-
_globals["_MATCHQUERY"]._serialized_start = 2644
|
|
87
|
-
_globals["_MATCHQUERY"]._serialized_end = 2801
|
|
88
|
-
_globals["_PHRASEQUERY"]._serialized_start = 2803
|
|
89
|
-
_globals["_PHRASEQUERY"]._serialized_end = 2883
|
|
90
|
-
_globals["_PREFIXQUERY"]._serialized_start = 2885
|
|
91
|
-
_globals["_PREFIXQUERY"]._serialized_end = 2929
|
|
92
|
-
_globals["_RERANKER"]._serialized_start = 2932
|
|
93
|
-
_globals["_RERANKER"]._serialized_end = 3160
|
|
94
|
-
_globals["_SEARCHREQUEST"]._serialized_start = 3163
|
|
95
|
-
_globals["_SEARCHREQUEST"]._serialized_end = 3481
|
|
96
|
-
_globals["_GETTEXTSTATSREQUEST"]._serialized_start = 3483
|
|
97
|
-
_globals["_GETTEXTSTATSREQUEST"]._serialized_end = 3554
|
|
98
|
-
_globals["_GETTEXTSTATSRESPONSE"]._serialized_start = 3556
|
|
99
|
-
_globals["_GETTEXTSTATSRESPONSE"]._serialized_end = 3612
|
|
100
|
-
_globals["_TEXTSTATS"]._serialized_start = 3614
|
|
101
|
-
_globals["_TEXTSTATS"]._serialized_end = 3685
|
|
102
|
-
_globals["_TEXTFIELDSTATS"]._serialized_start = 3687
|
|
103
|
-
_globals["_TEXTFIELDSTATS"]._serialized_end = 3792
|
|
104
|
-
_globals["_TERMDOCFREQ"]._serialized_start = 3794
|
|
105
|
-
_globals["_TERMDOCFREQ"]._serialized_end = 3839
|
|
106
|
-
_globals["_DOCADDRESS"]._serialized_start = 3841
|
|
107
|
-
_globals["_DOCADDRESS"]._serialized_end = 3889
|
|
108
|
-
_globals["_SEARCHHIT"]._serialized_start = 3892
|
|
109
|
-
_globals["_SEARCHHIT"]._serialized_end = 4170
|
|
110
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_start = 4101
|
|
111
|
-
_globals["_SEARCHHIT_FIELDSENTRY"]._serialized_end = 4170
|
|
112
|
-
_globals["_CANDIDATESCORES"]._serialized_start = 4173
|
|
113
|
-
_globals["_CANDIDATESCORES"]._serialized_end = 4362
|
|
114
|
-
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._serialized_start = 4315
|
|
115
|
-
_globals["_CANDIDATESCORES_DOCUMENTENTRY"]._serialized_end = 4362
|
|
116
|
-
_globals["_PASSAGESCORES"]._serialized_start = 4365
|
|
117
|
-
_globals["_PASSAGESCORES"]._serialized_end = 4531
|
|
118
|
-
_globals["_PASSAGESCORES_SCORESENTRY"]._serialized_start = 4473
|
|
119
|
-
_globals["_PASSAGESCORES_SCORESENTRY"]._serialized_end = 4518
|
|
120
|
-
_globals["_FIELDVALUELIST"]._serialized_start = 4533
|
|
121
|
-
_globals["_FIELDVALUELIST"]._serialized_end = 4585
|
|
122
|
-
_globals["_ORDINALSCORE"]._serialized_start = 4587
|
|
123
|
-
_globals["_ORDINALSCORE"]._serialized_end = 4633
|
|
124
|
-
_globals["_FIELDVALUE"]._serialized_start = 4636
|
|
125
|
-
_globals["_FIELDVALUE"]._serialized_end = 4886
|
|
126
|
-
_globals["_SPARSEVECTOR"]._serialized_start = 4888
|
|
127
|
-
_globals["_SPARSEVECTOR"]._serialized_end = 4935
|
|
128
|
-
_globals["_DENSEVECTOR"]._serialized_start = 4937
|
|
129
|
-
_globals["_DENSEVECTOR"]._serialized_end = 4966
|
|
130
|
-
_globals["_SEARCHRESPONSE"]._serialized_start = 4969
|
|
131
|
-
_globals["_SEARCHRESPONSE"]._serialized_end = 5194
|
|
132
|
-
_globals["_FUSIONCANDIDATELIST"]._serialized_start = 5196
|
|
133
|
-
_globals["_FUSIONCANDIDATELIST"]._serialized_end = 5283
|
|
134
|
-
_globals["_FUSIONCANDIDATE"]._serialized_start = 5285
|
|
135
|
-
_globals["_FUSIONCANDIDATE"]._serialized_end = 5400
|
|
136
|
-
_globals["_SEARCHTIMINGS"]._serialized_start = 5402
|
|
137
|
-
_globals["_SEARCHTIMINGS"]._serialized_end = 5520
|
|
138
|
-
_globals["_GETDOCUMENTREQUEST"]._serialized_start = 5522
|
|
139
|
-
_globals["_GETDOCUMENTREQUEST"]._serialized_end = 5599
|
|
140
|
-
_globals["_GETDOCUMENTRESPONSE"]._serialized_start = 5602
|
|
141
|
-
_globals["_GETDOCUMENTRESPONSE"]._serialized_end = 5751
|
|
142
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_start = 4101
|
|
143
|
-
_globals["_GETDOCUMENTRESPONSE_FIELDSENTRY"]._serialized_end = 4170
|
|
144
|
-
_globals["_GETINDEXINFOREQUEST"]._serialized_start = 5753
|
|
145
|
-
_globals["_GETINDEXINFOREQUEST"]._serialized_end = 5794
|
|
146
|
-
_globals["_GETINDEXINFORESPONSE"]._serialized_start = 5797
|
|
147
|
-
_globals["_GETINDEXINFORESPONSE"]._serialized_end = 6102
|
|
148
|
-
_globals["_TEXTFIELDINFO"]._serialized_start = 6104
|
|
149
|
-
_globals["_TEXTFIELDINFO"]._serialized_end = 6225
|
|
150
|
-
_globals["_VECTORFIELDSTATS"]._serialized_start = 6228
|
|
151
|
-
_globals["_VECTORFIELDSTATS"]._serialized_end = 6359
|
|
152
|
-
_globals["_MEMORYSTATS"]._serialized_start = 6362
|
|
153
|
-
_globals["_MEMORYSTATS"]._serialized_end = 6502
|
|
154
|
-
_globals["_INDEXINGBUFFERSTATS"]._serialized_start = 6505
|
|
155
|
-
_globals["_INDEXINGBUFFERSTATS"]._serialized_end = 6728
|
|
156
|
-
_globals["_SEGMENTREADERSTATS"]._serialized_start = 6731
|
|
157
|
-
_globals["_SEGMENTREADERSTATS"]._serialized_end = 6914
|
|
158
|
-
_globals["_CREATEINDEXREQUEST"]._serialized_start = 6916
|
|
159
|
-
_globals["_CREATEINDEXREQUEST"]._serialized_end = 6972
|
|
160
|
-
_globals["_CREATEINDEXRESPONSE"]._serialized_start = 6974
|
|
161
|
-
_globals["_CREATEINDEXRESPONSE"]._serialized_end = 7012
|
|
162
|
-
_globals["_FIELDENTRY"]._serialized_start = 7014
|
|
163
|
-
_globals["_FIELDENTRY"]._serialized_end = 7075
|
|
164
|
-
_globals["_NAMEDDOCUMENT"]._serialized_start = 7077
|
|
165
|
-
_globals["_NAMEDDOCUMENT"]._serialized_end = 7128
|
|
166
|
-
_globals["_BATCHINDEXDOCUMENTSREQUEST"]._serialized_start = 7130
|
|
167
|
-
_globals["_BATCHINDEXDOCUMENTSREQUEST"]._serialized_end = 7220
|
|
168
|
-
_globals["_BATCHINDEXDOCUMENTSRESPONSE"]._serialized_start = 7222
|
|
169
|
-
_globals["_BATCHINDEXDOCUMENTSRESPONSE"]._serialized_end = 7334
|
|
170
|
-
_globals["_DOCUMENTERROR"]._serialized_start = 7336
|
|
171
|
-
_globals["_DOCUMENTERROR"]._serialized_end = 7381
|
|
172
|
-
_globals["_INDEXDOCUMENTREQUEST"]._serialized_start = 7383
|
|
173
|
-
_globals["_INDEXDOCUMENTREQUEST"]._serialized_end = 7461
|
|
174
|
-
_globals["_INDEXDOCUMENTSRESPONSE"]._serialized_start = 7463
|
|
175
|
-
_globals["_INDEXDOCUMENTSRESPONSE"]._serialized_end = 7549
|
|
176
|
-
_globals["_COMMITREQUEST"]._serialized_start = 7551
|
|
177
|
-
_globals["_COMMITREQUEST"]._serialized_end = 7586
|
|
178
|
-
_globals["_COMMITRESPONSE"]._serialized_start = 7588
|
|
179
|
-
_globals["_COMMITRESPONSE"]._serialized_end = 7639
|
|
180
|
-
_globals["_FORCEMERGEREQUEST"]._serialized_start = 7641
|
|
181
|
-
_globals["_FORCEMERGEREQUEST"]._serialized_end = 7680
|
|
182
|
-
_globals["_FORCEMERGERESPONSE"]._serialized_start = 7682
|
|
183
|
-
_globals["_FORCEMERGERESPONSE"]._serialized_end = 7741
|
|
184
|
-
_globals["_DELETEINDEXREQUEST"]._serialized_start = 7743
|
|
185
|
-
_globals["_DELETEINDEXREQUEST"]._serialized_end = 7783
|
|
186
|
-
_globals["_DELETEINDEXRESPONSE"]._serialized_start = 7785
|
|
187
|
-
_globals["_DELETEINDEXRESPONSE"]._serialized_end = 7823
|
|
188
|
-
_globals["_LISTINDEXESREQUEST"]._serialized_start = 7825
|
|
189
|
-
_globals["_LISTINDEXESREQUEST"]._serialized_end = 7845
|
|
190
|
-
_globals["_LISTINDEXESRESPONSE"]._serialized_start = 7847
|
|
191
|
-
_globals["_LISTINDEXESRESPONSE"]._serialized_end = 7889
|
|
192
|
-
_globals["_RETRAINVECTORINDEXREQUEST"]._serialized_start = 7891
|
|
193
|
-
_globals["_RETRAINVECTORINDEXREQUEST"]._serialized_end = 7938
|
|
194
|
-
_globals["_RETRAINVECTORINDEXRESPONSE"]._serialized_start = 7940
|
|
195
|
-
_globals["_RETRAINVECTORINDEXRESPONSE"]._serialized_end = 7985
|
|
196
|
-
_globals["_ALTERVECTORINDEXREQUEST"]._serialized_start = 7987
|
|
197
|
-
_globals["_ALTERVECTORINDEXREQUEST"]._serialized_end = 8074
|
|
198
|
-
_globals["_ALTERVECTORINDEXRESPONSE"]._serialized_start = 8076
|
|
199
|
-
_globals["_ALTERVECTORINDEXRESPONSE"]._serialized_end = 8180
|
|
200
|
-
_globals["_REORDERREQUEST"]._serialized_start = 8182
|
|
201
|
-
_globals["_REORDERREQUEST"]._serialized_end = 8218
|
|
202
|
-
_globals["_REORDERRESPONSE"]._serialized_start = 8220
|
|
203
|
-
_globals["_REORDERRESPONSE"]._serialized_end = 8276
|
|
204
|
-
_globals["_SEARCHSERVICE"]._serialized_start = 8788
|
|
205
|
-
_globals["_SEARCHSERVICE"]._serialized_end = 9082
|
|
206
|
-
_globals["_INDEXSERVICE"]._serialized_start = 9085
|
|
207
|
-
_globals["_INDEXSERVICE"]._serialized_end = 9859
|
|
208
|
-
# @@protoc_insertion_point(module_scope)
|
|
File without changes
|
|
File without changes
|