Skip to content

Commit

Permalink
lastInsertedUpdated実装
Browse files Browse the repository at this point in the history
  • Loading branch information
ikura-hamu committed Jul 15, 2023
1 parent e2d195f commit 5815dce
Showing 1 changed file with 28 additions and 11 deletions.
39 changes: 28 additions & 11 deletions service/search/es_sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -270,22 +270,39 @@ func (e *esEngine) sync() error {

// lastInsertedUpdated esに存在している、updatedAtが一番新しいメッセージの値を取得します
func (e *esEngine) lastInsertedUpdated() (time.Time, error) {
sr, err := e.client.Search().
Index(getIndexName(esMessageIndex)).
Sort("updatedAt", false).
Size(1).
Do(context.Background())
sr, err := e.client.Search(
e.client.Search.WithIndex(getIndexName(esMessageIndex)),
e.client.Search.WithSort("updatedAt:desc"),
e.client.Search.WithSize(1))
// sr, err := e.client.Search().
// Index(getIndexName(esMessageIndex)).
// Sort("updatedAt", false).
// Size(1).
// Do(context.Background())
if err != nil {
return time.Time{}, err
}
if len(sr.Hits.Hits) == 0 {
return time.Time{}, nil

var body []byte
_, err = sr.Body.Read(body)
if err != nil {
return time.Time{}, err
}

var m esMessageDoc
hit := sr.Hits.Hits[0]
if err := json.Unmarshal(hit.Source, &m); err != nil {
var res m
err = json.Unmarshal(body, &res)
if err != nil {
return time.Time{}, err
}
return m.UpdatedAt, nil

result, err := e.parseResBody(res)
if err != nil {
return time.Time{}, err
}

if len(result.Hits()) == 0 {
return time.Time{}, nil
}

return result.Hits()[0].GetUpdatedAt(), nil
}

0 comments on commit 5815dce

Please sign in to comment.