首先放上第三方库的地址https://github.com/olivere/elastic
在我自己使用时遇到search数据时,出来的结果调用TotalHits()被限制在10000(代码如下)
resp, err := h.client.
Search("dating_profile").
Query(elastic.NewQueryStringQuery(rewriteQueryString(q))).
From(from).
Do(context.Background())
if err != nil {
return result, err
}
result.Hits = resp.TotalHits()//取出来的数值只有10000,但是用Rest去get并设置track_total_hits为true后,搜索出来的数据有20000+
经过查阅后发现在query后忘记调用TrackTotalHits参数进行设置
修改后代码如下
resp, err := h.client.
Search("dating_profile").
Query(elastic.NewQueryStringQuery(rewriteQueryString(q))).
TrackTotalHits(true).
From(from).
Do(context.Background())
if err != nil {
return result, err
}
result.Hits = resp.TotalHits() //这样调用的数值就可以解除10000的限制