mattbaird/elastigo

DELETE /_query endpoint removed

wolfogre opened this issue · 0 comments

The DELETE /_query endpoint provided by the Delete-By-Query plugin has been removed and replaced by the Delete By Query API.

See the document

But mattbaird/elastigo still use it:

func (c *Conn) DeleteByQuery(indices []string, types []string, args map[string]interface{}, query interface{}) (BaseResponse, error) {
	var url string
	var retval BaseResponse
	if len(indices) > 0 && len(types) > 0 {
		url = fmt.Sprintf("/%s/%s/_query", strings.Join(indices, ","), strings.Join(types, ","))
	} else if len(indices) > 0 {
		url = fmt.Sprintf("/%s/_query", strings.Join(indices, ","))
	}
	body, err := c.DoCommand("DELETE", url, args, query)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}

Calling it would cause a error: record not found