第一次尝试使用 elastics的go sdk “github.com/olivere/elastic” ,有go版本的真不错,
不料却报错了
1 | panic: elastic: Error 400 (Bad Request): all shards failed [type=search_phase_execution_exception] |
上代码吧
1 | package main |
原因分析:
当使用到Field 精准匹配相关的查询时,所以查询的关键字在es上的类型,必须是keyword而不能是text,比如你的搜索条件是 ”programname”:”neutron”,那么该programname 字段的es类型得是keyword,而不能是text
改成使用 elastic.NewValueCountAggregation().Field(“programname.keyword”) 就可以了