Skip to content
This repository was archived by the owner on May 24, 2024. It is now read-only.

Commit 5285b50

Browse files
Ajinkya Naharajinkyan83
authored andcommitted
DA-4281: Add delete document by query method
Signed-off-by: Ajinkya Nahar <[email protected]>
1 parent 0370321 commit 5285b50

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

elastic/client.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,36 @@ func (p *ClientProvider) DeleteIndex(index string, ignoreUnavailable bool) ([]by
122122
return body, nil
123123
}
124124

125+
// DeleteDocumentByQuery ...
126+
func (p *ClientProvider) DeleteDocumentByQuery(index string, query map[string]interface{}) ([]byte, error) {
127+
var buf bytes.Buffer
128+
err := json.NewEncoder(&buf).Encode(query)
129+
if err != nil {
130+
return nil, err
131+
}
132+
133+
res, err := p.client.DeleteByQuery(
134+
[]string{index},
135+
&buf)
136+
137+
if err != nil {
138+
return nil, err
139+
}
140+
141+
defer func() {
142+
if err := res.Body.Close(); err != nil {
143+
log.Printf("Err: %s", err.Error())
144+
}
145+
}()
146+
147+
resBytes, err := toBytes(res)
148+
if err != nil {
149+
return nil, err
150+
}
151+
152+
return resBytes, nil
153+
}
154+
125155
// convert response to bytes
126156
func toBytes(res *esapi.Response) ([]byte, error) {
127157
var resBuf bytes.Buffer

0 commit comments

Comments
 (0)