go-elasticsearch
go-elasticsearch copied to clipboard
dial tcp 127.0.0.1:9200: connectex: Only one usage of each socket address (protocol/network address/port) is normally permitted.
window10
func New() *elasticsearch.Client {
cfg := elasticsearch.Config{
Addresses: []string{
"https://127.0.0.1:9200",
},
Username: "elastic",
Password: "aaaaaaaa",
CertificateFingerprint: "aaaaaaa",
}
es, err := elasticsearch.NewClient(cfg)
if err != nil {
log.Fatal(err)
}
return es
}
var es = conn.New()
func SaveUrl(r *colly.Response) {
doc := UrlDoc{}
doc._id = utils.GetMD5Encode(r.Request.URL.String())
doc.Url = r.Request.URL.String()
doc.Code = r.StatusCode
data, _ := json.Marshal(doc)
rp, err := es.Index("collected_urls", bytes.NewReader(data), es.Index.WithDocumentID(doc._id))
if err != nil {
log.Fatal(err)
}
log.Println(rp.String())
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
log.Fatal(err)
}
}(rp.Body)
}