同步从Elasticsearch删除文档

我正在使用Olivere / elastic与Go中的elasticsearch一起工作。这是我的代码:


// (1) delete document 

_, err := e.client.Delete().Index(index).Type("entity").

    Id(id).Do(e.ctx)


if err != nil {

    fmt.Println(err.Error())

}


// (2) get all documents 

result, err := e.client.Search().Index(index).From(1).Size(100).Do(e.ctx)

if err != nil {

    log.Println(err)

}


fmt.Println(result.TotalHits())


// (3) wait

time.Sleep(3 * time.Second)


// (4) get all documents

result, err = e.client.Search().Index(index).From(1).Size(100).Do(e.ctx)

if err != nil {

    log.Println(err)

}


fmt.Println(result.TotalHits())

我在这里:

  • 删除文件

  • 从集合中获取所有文件

  • 等待3秒

  • 从集合中获取相同的文档

现在,在步骤(2)上,我得到的文档比步骤(4)多得多。看来文档在Elastic中被删除有些延迟,我正在寻找同步删除文档的方法。


慕标琳琳
浏览 233回答 1
1回答

ibeautiful

_, err := e.client.Delete().Index(index).Type("entity").    Id(id).Refresh("true").Do(e.ctx)刷新(“ true”)
打开App,查看更多内容
随时随地看视频慕课网APP