diff --git a/internal/model/es.go b/internal/model/es.go new file mode 100644 index 0000000..681357a --- /dev/null +++ b/internal/model/es.go @@ -0,0 +1,27 @@ +package model + +type ESSource[T any] struct { + DocId string `json:"_id"` + Index string `json:"_index"` + Content T `json:"_source"` + Sort []any `json:"sort"` +} + +type ESSearchResponse[T any] struct { + Took int `json:"took"` + TimedOut bool `json:"timed_out"` + Shards struct { + Total int `json:"total"` + Successful int `json:"successful"` + Skipped int `json:"skipped"` + Failed int `json:"failed"` + } `json:"_shards"` + Hits struct { + Total struct { + Value int `json:"value"` + Relation string `json:"relation"` + } `json:"total"` + MaxScore float64 `json:"max_score"` + Hits []*ESSource[T] `json:"hits"` + } `json:"hits"` +}