turbopuffer 1.7.0 → 1.9.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +1 -1
- data/lib/turbopuffer/models/full_text_search_config.rb +10 -1
- data/lib/turbopuffer/models/namespace_write_params.rb +17 -1
- data/lib/turbopuffer/models/namespace_write_response.rb +9 -1
- data/lib/turbopuffer/resources/namespaces.rb +5 -1
- data/lib/turbopuffer/version.rb +1 -1
- data/lib/turbopuffer.rb +1 -0
- data/manifest.yaml +1 -0
- data/rbi/turbopuffer/models/full_text_search_config.rbi +13 -0
- data/rbi/turbopuffer/models/namespace_write_params.rbi +22 -0
- data/rbi/turbopuffer/models/namespace_write_response.rbi +11 -0
- data/rbi/turbopuffer/resources/namespaces.rbi +6 -0
- data/sig/turbopuffer/models/full_text_search_config.rbs +7 -0
- data/sig/turbopuffer/models/namespace_write_params.rbs +14 -0
- data/sig/turbopuffer/models/namespace_write_response.rbs +7 -0
- data/sig/turbopuffer/resources/namespaces.rbs +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36b14ea176033e79cc636aede611ed70df4d05dd49770b6047ef057a8e787282
|
|
4
|
+
data.tar.gz: be5df7041b1aebd94037fe89ad0b212189a70d8e5d30182aa58716d0ea2e5638
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ed257494a1fbdf9dd8c37cead131ca0b59377e2242712ba3cf7f348b0ca7cfaf026bd119ff3355ea042f0c366ae1f9aae019685685d6c6ad45df94925cc207af
|
|
7
|
+
data.tar.gz: 27933b39dd696f73de2e0009b58183297fa71f77f53d02bad6621d0359cc3db43d10feb38eedb31ba2b0cf493c5158b8143944750934732bf8533b6d69a45807
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.0 (2025-12-02)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.8.0...v1.9.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v1.8.0...v1.9.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* sdks: add <patch|delete>_by_filter_allow_partial options ([cd557aa](https://github.com/turbopuffer/turbopuffer-ruby/commit/cd557aaa7482c6d23a744d582e4f377616c2078f))
|
|
10
|
+
|
|
11
|
+
## 1.8.0 (2025-11-25)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v1.7.0...v1.8.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v1.7.0...v1.8.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* site: add ascii_folding to docs and SDKs ([3559081](https://github.com/turbopuffer/turbopuffer-ruby/commit/3559081d051884e7ce9b926cd87cedcdda4f8d31))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Chores
|
|
21
|
+
|
|
22
|
+
* explicitly require "base64" gem ([eff4748](https://github.com/turbopuffer/turbopuffer-ruby/commit/eff47486ca1e5fa6742cd3f40a17822f2499429a))
|
|
23
|
+
|
|
3
24
|
## 1.7.0 (2025-11-17)
|
|
4
25
|
|
|
5
26
|
Full Changelog: [v1.6.0...v1.7.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v1.6.0...v1.7.0)
|
data/README.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
module Turbopuffer
|
|
4
4
|
module Models
|
|
5
5
|
class FullTextSearchConfig < Turbopuffer::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute ascii_folding
|
|
7
|
+
# Whether to convert each non-ASCII character in a token to its ASCII equivalent,
|
|
8
|
+
# if one exists (e.g., à -> a). Defaults to `false` (i.e., no folding).
|
|
9
|
+
#
|
|
10
|
+
# @return [Boolean, nil]
|
|
11
|
+
optional :ascii_folding, Turbopuffer::Internal::Type::Boolean
|
|
12
|
+
|
|
6
13
|
# @!attribute b
|
|
7
14
|
# The `b` document length normalization parameter for BM25. Defaults to `0.75`.
|
|
8
15
|
#
|
|
@@ -57,12 +64,14 @@ module Turbopuffer
|
|
|
57
64
|
# @return [Symbol, Turbopuffer::Models::Tokenizer, nil]
|
|
58
65
|
optional :tokenizer, enum: -> { Turbopuffer::Tokenizer }
|
|
59
66
|
|
|
60
|
-
# @!method initialize(b: nil, case_sensitive: nil, k1: nil, language: nil, max_token_length: nil, remove_stopwords: nil, stemming: nil, tokenizer: nil)
|
|
67
|
+
# @!method initialize(ascii_folding: nil, b: nil, case_sensitive: nil, k1: nil, language: nil, max_token_length: nil, remove_stopwords: nil, stemming: nil, tokenizer: nil)
|
|
61
68
|
# Some parameter documentations has been truncated, see
|
|
62
69
|
# {Turbopuffer::Models::FullTextSearchConfig} for more details.
|
|
63
70
|
#
|
|
64
71
|
# Configuration options for full-text search.
|
|
65
72
|
#
|
|
73
|
+
# @param ascii_folding [Boolean] Whether to convert each non-ASCII character in a token to its ASCII equivalent,
|
|
74
|
+
#
|
|
66
75
|
# @param b [Float] The `b` document length normalization parameter for BM25. Defaults to `0.75`.
|
|
67
76
|
#
|
|
68
77
|
# @param case_sensitive [Boolean] Whether searching is case-sensitive. Defaults to `false` (i.e. case-insensitive)
|
|
@@ -24,6 +24,12 @@ module Turbopuffer
|
|
|
24
24
|
# @return [Object, nil]
|
|
25
25
|
optional :delete_by_filter, Turbopuffer::Internal::Type::Unknown
|
|
26
26
|
|
|
27
|
+
# @!attribute delete_by_filter_allow_partial
|
|
28
|
+
# Allow partial completion when filter matches too many documents.
|
|
29
|
+
#
|
|
30
|
+
# @return [Boolean, nil]
|
|
31
|
+
optional :delete_by_filter_allow_partial, Turbopuffer::Internal::Type::Boolean
|
|
32
|
+
|
|
27
33
|
# @!attribute delete_condition
|
|
28
34
|
# A condition evaluated against the current value of each document targeted by a
|
|
29
35
|
# delete write. Only documents that pass the condition are deleted.
|
|
@@ -60,6 +66,12 @@ module Turbopuffer
|
|
|
60
66
|
# @return [Turbopuffer::Models::NamespaceWriteParams::PatchByFilter, nil]
|
|
61
67
|
optional :patch_by_filter, -> { Turbopuffer::NamespaceWriteParams::PatchByFilter }
|
|
62
68
|
|
|
69
|
+
# @!attribute patch_by_filter_allow_partial
|
|
70
|
+
# Allow partial completion when filter matches too many documents.
|
|
71
|
+
#
|
|
72
|
+
# @return [Boolean, nil]
|
|
73
|
+
optional :patch_by_filter_allow_partial, Turbopuffer::Internal::Type::Boolean
|
|
74
|
+
|
|
63
75
|
# @!attribute patch_columns
|
|
64
76
|
# A list of documents in columnar format. Each key is a column name, mapped to an
|
|
65
77
|
# array of values for that column.
|
|
@@ -104,7 +116,7 @@ module Turbopuffer
|
|
|
104
116
|
# @return [Array<Turbopuffer::Models::Row>, nil]
|
|
105
117
|
optional :upsert_rows, -> { Turbopuffer::Internal::Type::ArrayOf[Turbopuffer::Row] }
|
|
106
118
|
|
|
107
|
-
# @!method initialize(namespace: nil, copy_from_namespace: nil, delete_by_filter: nil, delete_condition: nil, deletes: nil, disable_backpressure: nil, distance_metric: nil, encryption: nil, patch_by_filter: nil, patch_columns: nil, patch_condition: nil, patch_rows: nil, schema: nil, upsert_columns: nil, upsert_condition: nil, upsert_rows: nil, request_options: {})
|
|
119
|
+
# @!method initialize(namespace: nil, copy_from_namespace: nil, delete_by_filter: nil, delete_by_filter_allow_partial: nil, delete_condition: nil, deletes: nil, disable_backpressure: nil, distance_metric: nil, encryption: nil, patch_by_filter: nil, patch_by_filter_allow_partial: nil, patch_columns: nil, patch_condition: nil, patch_rows: nil, schema: nil, upsert_columns: nil, upsert_condition: nil, upsert_rows: nil, request_options: {})
|
|
108
120
|
# Some parameter documentations has been truncated, see
|
|
109
121
|
# {Turbopuffer::Models::NamespaceWriteParams} for more details.
|
|
110
122
|
#
|
|
@@ -114,6 +126,8 @@ module Turbopuffer
|
|
|
114
126
|
#
|
|
115
127
|
# @param delete_by_filter [Object] The filter specifying which documents to delete.
|
|
116
128
|
#
|
|
129
|
+
# @param delete_by_filter_allow_partial [Boolean] Allow partial completion when filter matches too many documents.
|
|
130
|
+
#
|
|
117
131
|
# @param delete_condition [Object] A condition evaluated against the current value of each document targeted by a d
|
|
118
132
|
#
|
|
119
133
|
# @param deletes [Array<String, Integer>]
|
|
@@ -126,6 +140,8 @@ module Turbopuffer
|
|
|
126
140
|
#
|
|
127
141
|
# @param patch_by_filter [Turbopuffer::Models::NamespaceWriteParams::PatchByFilter] The patch and filter specifying which documents to patch.
|
|
128
142
|
#
|
|
143
|
+
# @param patch_by_filter_allow_partial [Boolean] Allow partial completion when filter matches too many documents.
|
|
144
|
+
#
|
|
129
145
|
# @param patch_columns [Turbopuffer::Models::Columns] A list of documents in columnar format. Each key is a column name, mapped to an
|
|
130
146
|
#
|
|
131
147
|
# @param patch_condition [Object] A condition evaluated against the current value of each document targeted by a p
|
|
@@ -40,13 +40,19 @@ module Turbopuffer
|
|
|
40
40
|
# @return [Integer, nil]
|
|
41
41
|
optional :rows_patched, Integer
|
|
42
42
|
|
|
43
|
+
# @!attribute rows_remaining
|
|
44
|
+
# Whether more documents match the filter for partial operations.
|
|
45
|
+
#
|
|
46
|
+
# @return [Boolean, nil]
|
|
47
|
+
optional :rows_remaining, Turbopuffer::Internal::Type::Boolean
|
|
48
|
+
|
|
43
49
|
# @!attribute rows_upserted
|
|
44
50
|
# The number of rows upserted by the write request.
|
|
45
51
|
#
|
|
46
52
|
# @return [Integer, nil]
|
|
47
53
|
optional :rows_upserted, Integer
|
|
48
54
|
|
|
49
|
-
# @!method initialize(billing:, message:, rows_affected:, rows_deleted: nil, rows_patched: nil, rows_upserted: nil, status: :OK)
|
|
55
|
+
# @!method initialize(billing:, message:, rows_affected:, rows_deleted: nil, rows_patched: nil, rows_remaining: nil, rows_upserted: nil, status: :OK)
|
|
50
56
|
# The response to a successful write request.
|
|
51
57
|
#
|
|
52
58
|
# @param billing [Turbopuffer::Models::WriteBilling] The billing information for a write request.
|
|
@@ -59,6 +65,8 @@ module Turbopuffer
|
|
|
59
65
|
#
|
|
60
66
|
# @param rows_patched [Integer] The number of rows patched by the write request.
|
|
61
67
|
#
|
|
68
|
+
# @param rows_remaining [Boolean] Whether more documents match the filter for partial operations.
|
|
69
|
+
#
|
|
62
70
|
# @param rows_upserted [Integer] The number of rows upserted by the write request.
|
|
63
71
|
#
|
|
64
72
|
# @param status [Symbol, :OK] The status of the request.
|
|
@@ -305,7 +305,7 @@ module Turbopuffer
|
|
|
305
305
|
#
|
|
306
306
|
# Create, update, or delete documents.
|
|
307
307
|
#
|
|
308
|
-
# @overload write(namespace: nil, copy_from_namespace: nil, delete_by_filter: nil, delete_condition: nil, deletes: nil, disable_backpressure: nil, distance_metric: nil, encryption: nil, patch_by_filter: nil, patch_columns: nil, patch_condition: nil, patch_rows: nil, schema: nil, upsert_columns: nil, upsert_condition: nil, upsert_rows: nil, request_options: {})
|
|
308
|
+
# @overload write(namespace: nil, copy_from_namespace: nil, delete_by_filter: nil, delete_by_filter_allow_partial: nil, delete_condition: nil, deletes: nil, disable_backpressure: nil, distance_metric: nil, encryption: nil, patch_by_filter: nil, patch_by_filter_allow_partial: nil, patch_columns: nil, patch_condition: nil, patch_rows: nil, schema: nil, upsert_columns: nil, upsert_condition: nil, upsert_rows: nil, request_options: {})
|
|
309
309
|
#
|
|
310
310
|
# @param namespace [String] Path param: The name of the namespace.
|
|
311
311
|
#
|
|
@@ -313,6 +313,8 @@ module Turbopuffer
|
|
|
313
313
|
#
|
|
314
314
|
# @param delete_by_filter [Object] Body param: The filter specifying which documents to delete.
|
|
315
315
|
#
|
|
316
|
+
# @param delete_by_filter_allow_partial [Boolean] Body param: Allow partial completion when filter matches too many documents.
|
|
317
|
+
#
|
|
316
318
|
# @param delete_condition [Object] Body param: A condition evaluated against the current value of each document tar
|
|
317
319
|
#
|
|
318
320
|
# @param deletes [Array<String, Integer>] Body param:
|
|
@@ -325,6 +327,8 @@ module Turbopuffer
|
|
|
325
327
|
#
|
|
326
328
|
# @param patch_by_filter [Turbopuffer::Models::NamespaceWriteParams::PatchByFilter] Body param: The patch and filter specifying which documents to patch.
|
|
327
329
|
#
|
|
330
|
+
# @param patch_by_filter_allow_partial [Boolean] Body param: Allow partial completion when filter matches too many documents.
|
|
331
|
+
#
|
|
328
332
|
# @param patch_columns [Turbopuffer::Models::Columns] Body param: A list of documents in columnar format. Each key is a column name, m
|
|
329
333
|
#
|
|
330
334
|
# @param patch_condition [Object] Body param: A condition evaluated against the current value of each document tar
|
data/lib/turbopuffer/version.rb
CHANGED
data/lib/turbopuffer.rb
CHANGED
data/manifest.yaml
CHANGED
|
@@ -11,6 +11,14 @@ module Turbopuffer
|
|
|
11
11
|
)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Whether to convert each non-ASCII character in a token to its ASCII equivalent,
|
|
15
|
+
# if one exists (e.g., à -> a). Defaults to `false` (i.e., no folding).
|
|
16
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
17
|
+
attr_reader :ascii_folding
|
|
18
|
+
|
|
19
|
+
sig { params(ascii_folding: T::Boolean).void }
|
|
20
|
+
attr_writer :ascii_folding
|
|
21
|
+
|
|
14
22
|
# The `b` document length normalization parameter for BM25. Defaults to `0.75`.
|
|
15
23
|
sig { returns(T.nilable(Float)) }
|
|
16
24
|
attr_reader :b
|
|
@@ -76,6 +84,7 @@ module Turbopuffer
|
|
|
76
84
|
# Configuration options for full-text search.
|
|
77
85
|
sig do
|
|
78
86
|
params(
|
|
87
|
+
ascii_folding: T::Boolean,
|
|
79
88
|
b: Float,
|
|
80
89
|
case_sensitive: T::Boolean,
|
|
81
90
|
k1: Float,
|
|
@@ -87,6 +96,9 @@ module Turbopuffer
|
|
|
87
96
|
).returns(T.attached_class)
|
|
88
97
|
end
|
|
89
98
|
def self.new(
|
|
99
|
+
# Whether to convert each non-ASCII character in a token to its ASCII equivalent,
|
|
100
|
+
# if one exists (e.g., à -> a). Defaults to `false` (i.e., no folding).
|
|
101
|
+
ascii_folding: nil,
|
|
90
102
|
# The `b` document length normalization parameter for BM25. Defaults to `0.75`.
|
|
91
103
|
b: nil,
|
|
92
104
|
# Whether searching is case-sensitive. Defaults to `false` (i.e.
|
|
@@ -115,6 +127,7 @@ module Turbopuffer
|
|
|
115
127
|
sig do
|
|
116
128
|
override.returns(
|
|
117
129
|
{
|
|
130
|
+
ascii_folding: T::Boolean,
|
|
118
131
|
b: Float,
|
|
119
132
|
case_sensitive: T::Boolean,
|
|
120
133
|
k1: Float,
|
|
@@ -51,6 +51,13 @@ module Turbopuffer
|
|
|
51
51
|
sig { params(delete_by_filter: T.anything).void }
|
|
52
52
|
attr_writer :delete_by_filter
|
|
53
53
|
|
|
54
|
+
# Allow partial completion when filter matches too many documents.
|
|
55
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
56
|
+
attr_reader :delete_by_filter_allow_partial
|
|
57
|
+
|
|
58
|
+
sig { params(delete_by_filter_allow_partial: T::Boolean).void }
|
|
59
|
+
attr_writer :delete_by_filter_allow_partial
|
|
60
|
+
|
|
54
61
|
# A condition evaluated against the current value of each document targeted by a
|
|
55
62
|
# delete write. Only documents that pass the condition are deleted.
|
|
56
63
|
sig { returns(T.nilable(T.anything)) }
|
|
@@ -106,6 +113,13 @@ module Turbopuffer
|
|
|
106
113
|
end
|
|
107
114
|
attr_writer :patch_by_filter
|
|
108
115
|
|
|
116
|
+
# Allow partial completion when filter matches too many documents.
|
|
117
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
118
|
+
attr_reader :patch_by_filter_allow_partial
|
|
119
|
+
|
|
120
|
+
sig { params(patch_by_filter_allow_partial: T::Boolean).void }
|
|
121
|
+
attr_writer :patch_by_filter_allow_partial
|
|
122
|
+
|
|
109
123
|
# A list of documents in columnar format. Each key is a column name, mapped to an
|
|
110
124
|
# array of values for that column.
|
|
111
125
|
sig { returns(T.nilable(Turbopuffer::Columns)) }
|
|
@@ -180,6 +194,7 @@ module Turbopuffer
|
|
|
180
194
|
Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig::OrHash
|
|
181
195
|
),
|
|
182
196
|
delete_by_filter: T.anything,
|
|
197
|
+
delete_by_filter_allow_partial: T::Boolean,
|
|
183
198
|
delete_condition: T.anything,
|
|
184
199
|
deletes: T::Array[Turbopuffer::ID::Variants],
|
|
185
200
|
disable_backpressure: T::Boolean,
|
|
@@ -187,6 +202,7 @@ module Turbopuffer
|
|
|
187
202
|
encryption: Turbopuffer::NamespaceWriteParams::Encryption::OrHash,
|
|
188
203
|
patch_by_filter:
|
|
189
204
|
Turbopuffer::NamespaceWriteParams::PatchByFilter::OrHash,
|
|
205
|
+
patch_by_filter_allow_partial: T::Boolean,
|
|
190
206
|
patch_columns: Turbopuffer::Columns::OrHash,
|
|
191
207
|
patch_condition: T.anything,
|
|
192
208
|
patch_rows: T::Array[Turbopuffer::Row::OrHash],
|
|
@@ -207,6 +223,8 @@ module Turbopuffer
|
|
|
207
223
|
copy_from_namespace: nil,
|
|
208
224
|
# The filter specifying which documents to delete.
|
|
209
225
|
delete_by_filter: nil,
|
|
226
|
+
# Allow partial completion when filter matches too many documents.
|
|
227
|
+
delete_by_filter_allow_partial: nil,
|
|
210
228
|
# A condition evaluated against the current value of each document targeted by a
|
|
211
229
|
# delete write. Only documents that pass the condition are deleted.
|
|
212
230
|
delete_condition: nil,
|
|
@@ -219,6 +237,8 @@ module Turbopuffer
|
|
|
219
237
|
encryption: nil,
|
|
220
238
|
# The patch and filter specifying which documents to patch.
|
|
221
239
|
patch_by_filter: nil,
|
|
240
|
+
# Allow partial completion when filter matches too many documents.
|
|
241
|
+
patch_by_filter_allow_partial: nil,
|
|
222
242
|
# A list of documents in columnar format. Each key is a column name, mapped to an
|
|
223
243
|
# array of values for that column.
|
|
224
244
|
patch_columns: nil,
|
|
@@ -249,12 +269,14 @@ module Turbopuffer
|
|
|
249
269
|
Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig
|
|
250
270
|
),
|
|
251
271
|
delete_by_filter: T.anything,
|
|
272
|
+
delete_by_filter_allow_partial: T::Boolean,
|
|
252
273
|
delete_condition: T.anything,
|
|
253
274
|
deletes: T::Array[Turbopuffer::ID::Variants],
|
|
254
275
|
disable_backpressure: T::Boolean,
|
|
255
276
|
distance_metric: Turbopuffer::DistanceMetric::OrSymbol,
|
|
256
277
|
encryption: Turbopuffer::NamespaceWriteParams::Encryption,
|
|
257
278
|
patch_by_filter: Turbopuffer::NamespaceWriteParams::PatchByFilter,
|
|
279
|
+
patch_by_filter_allow_partial: T::Boolean,
|
|
258
280
|
patch_columns: Turbopuffer::Columns,
|
|
259
281
|
patch_condition: T.anything,
|
|
260
282
|
patch_rows: T::Array[Turbopuffer::Row],
|
|
@@ -44,6 +44,13 @@ module Turbopuffer
|
|
|
44
44
|
sig { params(rows_patched: Integer).void }
|
|
45
45
|
attr_writer :rows_patched
|
|
46
46
|
|
|
47
|
+
# Whether more documents match the filter for partial operations.
|
|
48
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
49
|
+
attr_reader :rows_remaining
|
|
50
|
+
|
|
51
|
+
sig { params(rows_remaining: T::Boolean).void }
|
|
52
|
+
attr_writer :rows_remaining
|
|
53
|
+
|
|
47
54
|
# The number of rows upserted by the write request.
|
|
48
55
|
sig { returns(T.nilable(Integer)) }
|
|
49
56
|
attr_reader :rows_upserted
|
|
@@ -59,6 +66,7 @@ module Turbopuffer
|
|
|
59
66
|
rows_affected: Integer,
|
|
60
67
|
rows_deleted: Integer,
|
|
61
68
|
rows_patched: Integer,
|
|
69
|
+
rows_remaining: T::Boolean,
|
|
62
70
|
rows_upserted: Integer,
|
|
63
71
|
status: Symbol
|
|
64
72
|
).returns(T.attached_class)
|
|
@@ -74,6 +82,8 @@ module Turbopuffer
|
|
|
74
82
|
rows_deleted: nil,
|
|
75
83
|
# The number of rows patched by the write request.
|
|
76
84
|
rows_patched: nil,
|
|
85
|
+
# Whether more documents match the filter for partial operations.
|
|
86
|
+
rows_remaining: nil,
|
|
77
87
|
# The number of rows upserted by the write request.
|
|
78
88
|
rows_upserted: nil,
|
|
79
89
|
# The status of the request.
|
|
@@ -90,6 +100,7 @@ module Turbopuffer
|
|
|
90
100
|
status: Symbol,
|
|
91
101
|
rows_deleted: Integer,
|
|
92
102
|
rows_patched: Integer,
|
|
103
|
+
rows_remaining: T::Boolean,
|
|
93
104
|
rows_upserted: Integer
|
|
94
105
|
}
|
|
95
106
|
)
|
|
@@ -242,6 +242,7 @@ module Turbopuffer
|
|
|
242
242
|
Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig::OrHash
|
|
243
243
|
),
|
|
244
244
|
delete_by_filter: T.anything,
|
|
245
|
+
delete_by_filter_allow_partial: T::Boolean,
|
|
245
246
|
delete_condition: T.anything,
|
|
246
247
|
deletes: T::Array[Turbopuffer::ID::Variants],
|
|
247
248
|
disable_backpressure: T::Boolean,
|
|
@@ -249,6 +250,7 @@ module Turbopuffer
|
|
|
249
250
|
encryption: Turbopuffer::NamespaceWriteParams::Encryption::OrHash,
|
|
250
251
|
patch_by_filter:
|
|
251
252
|
Turbopuffer::NamespaceWriteParams::PatchByFilter::OrHash,
|
|
253
|
+
patch_by_filter_allow_partial: T::Boolean,
|
|
252
254
|
patch_columns: Turbopuffer::Columns::OrHash,
|
|
253
255
|
patch_condition: T.anything,
|
|
254
256
|
patch_rows: T::Array[Turbopuffer::Row::OrHash],
|
|
@@ -270,6 +272,8 @@ module Turbopuffer
|
|
|
270
272
|
copy_from_namespace: nil,
|
|
271
273
|
# Body param: The filter specifying which documents to delete.
|
|
272
274
|
delete_by_filter: nil,
|
|
275
|
+
# Body param: Allow partial completion when filter matches too many documents.
|
|
276
|
+
delete_by_filter_allow_partial: nil,
|
|
273
277
|
# Body param: A condition evaluated against the current value of each document
|
|
274
278
|
# targeted by a delete write. Only documents that pass the condition are deleted.
|
|
275
279
|
delete_condition: nil,
|
|
@@ -284,6 +288,8 @@ module Turbopuffer
|
|
|
284
288
|
encryption: nil,
|
|
285
289
|
# Body param: The patch and filter specifying which documents to patch.
|
|
286
290
|
patch_by_filter: nil,
|
|
291
|
+
# Body param: Allow partial completion when filter matches too many documents.
|
|
292
|
+
patch_by_filter_allow_partial: nil,
|
|
287
293
|
# Body param: A list of documents in columnar format. Each key is a column name,
|
|
288
294
|
# mapped to an array of values for that column.
|
|
289
295
|
patch_columns: nil,
|
|
@@ -2,6 +2,7 @@ module Turbopuffer
|
|
|
2
2
|
module Models
|
|
3
3
|
type full_text_search_config =
|
|
4
4
|
{
|
|
5
|
+
ascii_folding: bool,
|
|
5
6
|
b: Float,
|
|
6
7
|
case_sensitive: bool,
|
|
7
8
|
:k1 => Float,
|
|
@@ -13,6 +14,10 @@ module Turbopuffer
|
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
class FullTextSearchConfig < Turbopuffer::Internal::Type::BaseModel
|
|
17
|
+
attr_reader ascii_folding: bool?
|
|
18
|
+
|
|
19
|
+
def ascii_folding=: (bool) -> bool
|
|
20
|
+
|
|
16
21
|
attr_reader b: Float?
|
|
17
22
|
|
|
18
23
|
def b=: (Float) -> Float
|
|
@@ -50,6 +55,7 @@ module Turbopuffer
|
|
|
50
55
|
) -> Turbopuffer::Models::tokenizer
|
|
51
56
|
|
|
52
57
|
def initialize: (
|
|
58
|
+
?ascii_folding: bool,
|
|
53
59
|
?b: Float,
|
|
54
60
|
?case_sensitive: bool,
|
|
55
61
|
?k1: Float,
|
|
@@ -61,6 +67,7 @@ module Turbopuffer
|
|
|
61
67
|
) -> void
|
|
62
68
|
|
|
63
69
|
def to_hash: -> {
|
|
70
|
+
ascii_folding: bool,
|
|
64
71
|
b: Float,
|
|
65
72
|
case_sensitive: bool,
|
|
66
73
|
:k1 => Float,
|
|
@@ -5,12 +5,14 @@ module Turbopuffer
|
|
|
5
5
|
namespace: String,
|
|
6
6
|
copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
|
|
7
7
|
delete_by_filter: top,
|
|
8
|
+
delete_by_filter_allow_partial: bool,
|
|
8
9
|
delete_condition: top,
|
|
9
10
|
deletes: ::Array[Turbopuffer::Models::id],
|
|
10
11
|
disable_backpressure: bool,
|
|
11
12
|
distance_metric: Turbopuffer::Models::distance_metric,
|
|
12
13
|
encryption: Turbopuffer::NamespaceWriteParams::Encryption,
|
|
13
14
|
patch_by_filter: Turbopuffer::NamespaceWriteParams::PatchByFilter,
|
|
15
|
+
patch_by_filter_allow_partial: bool,
|
|
14
16
|
patch_columns: Turbopuffer::Columns,
|
|
15
17
|
patch_condition: top,
|
|
16
18
|
patch_rows: ::Array[Turbopuffer::Row],
|
|
@@ -39,6 +41,10 @@ module Turbopuffer
|
|
|
39
41
|
|
|
40
42
|
def delete_by_filter=: (top) -> top
|
|
41
43
|
|
|
44
|
+
attr_reader delete_by_filter_allow_partial: bool?
|
|
45
|
+
|
|
46
|
+
def delete_by_filter_allow_partial=: (bool) -> bool
|
|
47
|
+
|
|
42
48
|
attr_reader delete_condition: top?
|
|
43
49
|
|
|
44
50
|
def delete_condition=: (top) -> top
|
|
@@ -71,6 +77,10 @@ module Turbopuffer
|
|
|
71
77
|
Turbopuffer::NamespaceWriteParams::PatchByFilter
|
|
72
78
|
) -> Turbopuffer::NamespaceWriteParams::PatchByFilter
|
|
73
79
|
|
|
80
|
+
attr_reader patch_by_filter_allow_partial: bool?
|
|
81
|
+
|
|
82
|
+
def patch_by_filter_allow_partial=: (bool) -> bool
|
|
83
|
+
|
|
74
84
|
attr_reader patch_columns: Turbopuffer::Columns?
|
|
75
85
|
|
|
76
86
|
def patch_columns=: (Turbopuffer::Columns) -> Turbopuffer::Columns
|
|
@@ -105,12 +115,14 @@ module Turbopuffer
|
|
|
105
115
|
?namespace: String,
|
|
106
116
|
?copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
|
|
107
117
|
?delete_by_filter: top,
|
|
118
|
+
?delete_by_filter_allow_partial: bool,
|
|
108
119
|
?delete_condition: top,
|
|
109
120
|
?deletes: ::Array[Turbopuffer::Models::id],
|
|
110
121
|
?disable_backpressure: bool,
|
|
111
122
|
?distance_metric: Turbopuffer::Models::distance_metric,
|
|
112
123
|
?encryption: Turbopuffer::NamespaceWriteParams::Encryption,
|
|
113
124
|
?patch_by_filter: Turbopuffer::NamespaceWriteParams::PatchByFilter,
|
|
125
|
+
?patch_by_filter_allow_partial: bool,
|
|
114
126
|
?patch_columns: Turbopuffer::Columns,
|
|
115
127
|
?patch_condition: top,
|
|
116
128
|
?patch_rows: ::Array[Turbopuffer::Row],
|
|
@@ -125,12 +137,14 @@ module Turbopuffer
|
|
|
125
137
|
namespace: String,
|
|
126
138
|
copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
|
|
127
139
|
delete_by_filter: top,
|
|
140
|
+
delete_by_filter_allow_partial: bool,
|
|
128
141
|
delete_condition: top,
|
|
129
142
|
deletes: ::Array[Turbopuffer::Models::id],
|
|
130
143
|
disable_backpressure: bool,
|
|
131
144
|
distance_metric: Turbopuffer::Models::distance_metric,
|
|
132
145
|
encryption: Turbopuffer::NamespaceWriteParams::Encryption,
|
|
133
146
|
patch_by_filter: Turbopuffer::NamespaceWriteParams::PatchByFilter,
|
|
147
|
+
patch_by_filter_allow_partial: bool,
|
|
134
148
|
patch_columns: Turbopuffer::Columns,
|
|
135
149
|
patch_condition: top,
|
|
136
150
|
patch_rows: ::Array[Turbopuffer::Row],
|
|
@@ -8,6 +8,7 @@ module Turbopuffer
|
|
|
8
8
|
status: :OK,
|
|
9
9
|
rows_deleted: Integer,
|
|
10
10
|
rows_patched: Integer,
|
|
11
|
+
rows_remaining: bool,
|
|
11
12
|
rows_upserted: Integer
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -28,6 +29,10 @@ module Turbopuffer
|
|
|
28
29
|
|
|
29
30
|
def rows_patched=: (Integer) -> Integer
|
|
30
31
|
|
|
32
|
+
attr_reader rows_remaining: bool?
|
|
33
|
+
|
|
34
|
+
def rows_remaining=: (bool) -> bool
|
|
35
|
+
|
|
31
36
|
attr_reader rows_upserted: Integer?
|
|
32
37
|
|
|
33
38
|
def rows_upserted=: (Integer) -> Integer
|
|
@@ -38,6 +43,7 @@ module Turbopuffer
|
|
|
38
43
|
rows_affected: Integer,
|
|
39
44
|
?rows_deleted: Integer,
|
|
40
45
|
?rows_patched: Integer,
|
|
46
|
+
?rows_remaining: bool,
|
|
41
47
|
?rows_upserted: Integer,
|
|
42
48
|
?status: :OK
|
|
43
49
|
) -> void
|
|
@@ -49,6 +55,7 @@ module Turbopuffer
|
|
|
49
55
|
status: :OK,
|
|
50
56
|
rows_deleted: Integer,
|
|
51
57
|
rows_patched: Integer,
|
|
58
|
+
rows_remaining: bool,
|
|
52
59
|
rows_upserted: Integer
|
|
53
60
|
}
|
|
54
61
|
end
|
|
@@ -79,12 +79,14 @@ module Turbopuffer
|
|
|
79
79
|
?namespace: String,
|
|
80
80
|
?copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
|
|
81
81
|
?delete_by_filter: top,
|
|
82
|
+
?delete_by_filter_allow_partial: bool,
|
|
82
83
|
?delete_condition: top,
|
|
83
84
|
?deletes: ::Array[Turbopuffer::Models::id],
|
|
84
85
|
?disable_backpressure: bool,
|
|
85
86
|
?distance_metric: Turbopuffer::Models::distance_metric,
|
|
86
87
|
?encryption: Turbopuffer::NamespaceWriteParams::Encryption,
|
|
87
88
|
?patch_by_filter: Turbopuffer::NamespaceWriteParams::PatchByFilter,
|
|
89
|
+
?patch_by_filter_allow_partial: bool,
|
|
88
90
|
?patch_columns: Turbopuffer::Columns,
|
|
89
91
|
?patch_condition: top,
|
|
90
92
|
?patch_rows: ::Array[Turbopuffer::Row],
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: turbopuffer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Turbopuffer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-12-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: connection_pool
|