//ws存储的数据结构

es查询:
skip := (req.Page - 1) * req.PageSize
//var query elastic.Query
boolQuery := elastic.NewBoolQuery()
if (*req).Operator != "" {
//query = elastic.NewBoolQuery().Filter(elastic.NewTermQuery("operator.keyword", (*req).Operator))
}
if (*req).StartDate != 0 && (*req).EndDate != 0 {
start_date := tools.FormatDates(types.DATE_NORMAL_FORMAT, (*req).StartDate)
end_date := tools.FormatDates(types.DATE_NORMAL_FORMAT, (*req).EndDate)
// 创建 range 查询
rangeQuery := elastic.NewRangeQuery("dates:keyword").Gte(start_date).Lte(end_date)
boolQuery = boolQuery.Filter(rangeQuery)
}
if boolQuery == nil {
boolQuery = elastic.NewBoolQuery().Must(elastic.NewMatchAllQuery())
}
list_res, err := types.EsClient.Search().
Index(types.ES_OPERATOR_INDEX).
Query(boolQuery).
Sort("dates.keyword", false).
From(skip).
Size(req.PageSize).
Pretty(true).
Do(ctx)
//在执行查询的时候,query查询报错:
elastic: Error 400 (Bad Request): [1:71] [bool] failed to parse field [filter] [type=x_content_parse_exception]
,其中dates为字符串类型的,start_date,end_date转换为都为:yyyy-mm-dd H:i:s
golang es查询报错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
阿里嘎多学长 2025-10-14 19:39关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题分析
你遇到的问题是关于使用 Go 语言与 Elasticsearch 进行查询时报错。根据你提供的信息,似乎是关于数据结构和 Elasticsearch 查询语法的问题。
解决方案
- 检查数据结构: 确保你的数据结构与 Elasticsearch 的索引结构匹配。特别是检查字段名和类型是否正确。
- 检查查询语法: 确保你的查询语法正确,包括索引名、类型、字段名等。
- 检查连接配置: 确保你的 Go 语言程序与 Elasticsearch 的连接配置正确,包括 host、port、username、password 等。
核心代码
package main import ( "context" "fmt" "log" "github.com/elastic/go-elasticsearch/v7" ) func main() { // Elasticsearch 配置 esConfig := elasticsearch.Config{ Addresses: []string{"http://localhost:9200"}, } // 创建 Elasticsearch 客户端 esClient, err := elasticsearch.NewClient(esConfig) if err != nil { log.Fatal(err) } // 构建查询语法 query := `{ "query": { "match": { "field_name": "field_value" } } }` // 执行 Elasticsearch 查询 res, err := esClient.Search(context.Background(), es.Search.WithQuery(query)) if err != nil { log.Fatal(err) } // 处理查询结果 for _, hit := range res.Hits.Hits { fmt.Println(hit.Source) } }注意
上述代码仅供参考,具体的解决方案需要根据你的实际情况进行调整。
解决 无用评论 打赏 举报