Middle
Hoe werd Elasticsearch gevuld en bijgewerkt?
sobes.tech AI
Antwoord van AI
Elasticsearch wordt gevuld en bijgewerkt via indexerings- en updatebewerkingen van documenten. Normaal worden gegevens in JSON-formaat naar Elasticsearch gestuurd via de REST API of clientbibliotheken.
Voor het vullen (indexeren) wordt de methode index of bulk gebruikt voor batchladen. Voor het bijwerken kan de methode update worden gebruikt, waarmee een document gedeeltelijk kan worden gewijzigd of het hele document opnieuw kan worden geïndexeerd.
Voorbeeld in Go met de officiële elasticsearch-go client:
import (
"context"
"encoding/json"
"fmt"
"strings"
"github.com/elastic/go-elasticsearch/v8"
)
type Document struct {
Title string `json:"title"`
Content string `json:"content"`
}
func main() {
es, _ := elasticsearch.NewDefaultClient()
doc := Document{Title: "Voorbeeld", Content: "Tekst van het document"}
data, _ := json.Marshal(doc)
// Document indexeren
res, err := es.Index(
"my-index",
strings.NewReader(string(data)),
es.Index.WithDocumentID("1"),
es.Index.WithRefresh("true"),
)
if err != nil {
fmt.Println("Fout bij indexeren:", err)
}
defer res.Body.Close()
// Gedeeltelijk bijwerken van document
updateScript := `{"doc": {"content": "Bijgewerkte tekst"}}`
res, err = es.Update(
"my-index",
"1",
strings.NewReader(updateScript),
es.Update.WithRefresh("true"),
)
if err != nil {
fmt.Println("Fout bij bijwerken:", err)
}
defer res.Body.Close()
}
Op deze manier worden vullen en bijwerken gedaan door nieuwe documenten te indexeren en bestaande documenten bij te werken via de Elasticsearch API.