Skip to content

Commit ffd9ee8

Browse files
committed
feat(scala): deleteMultipleIndices
1 parent 09679a7 commit ffd9ee8

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import Foundation
2+
#if os(Linux) // For linux interop
3+
import FoundationNetworking
4+
#endif
5+
6+
import Core
7+
{{> snippets/import}}
8+
9+
func deleteMultipleIndices() async throws {
10+
do {
11+
// You need an API key with `deleteIndex`
12+
{{> snippets/init}}
13+
14+
// List all indices
15+
let indices = try await client.listIndices()
16+
17+
// Primary indices don't have a `primary` key
18+
let primaryIndices = indices.items.filter { $0.primary == nil }
19+
let replicaIndices = indices.items.filter { $0.primary != nil }
20+
21+
// Delete primary indices first
22+
if primaryIndices.isEmpty == false {
23+
let requests = primaryIndices.map { MultipleBatchRequest(
24+
action: .delete,
25+
indexName: $0.name
26+
) }
27+
{{#dynamicSnippet}}deleteMultipleIndicesPrimary{{/dynamicSnippet}}
28+
print("Deleted primary indices.")
29+
}
30+
31+
// Now, delete replica indices
32+
if replicaIndices.isEmpty == false {
33+
let requests = replicaIndices.map { MultipleBatchRequest(
34+
action: .delete,
35+
indexName: $0.name
36+
) }
37+
{{#dynamicSnippet}}deleteMultipleIndicesReplica{{/dynamicSnippet}}
38+
print("Deleted replica indices.")
39+
}
40+
} catch {
41+
print(error)
42+
}
43+
}

tests/CTS/guides/search.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,17 @@
1212
"indexName": "actors",
1313
"objects": "$var: chunks"
1414
}
15+
},
16+
"deleteMultipleIndicesPrimary": {
17+
"method": "multipleBatch",
18+
"parameters": {
19+
"requests": "$var: requests"
20+
}
21+
},
22+
"deleteMultipleIndicesReplica": {
23+
"method": "multipleBatch",
24+
"parameters": {
25+
"requests": "$var: requests"
26+
}
1527
}
1628
}

0 commit comments

Comments
 (0)