elastic存数据失败
来源:17-5 向ElasticSearch存储数据

慕妹1160917
2022-01-18
2022/01/18 15:43:54 fetching http://localhost:8080/mock/www.zhenai.com/zhenghun
item Saver item #0 阿坝
panic: elastic: Error 400 (Bad Request): failed to parse [type=mapper_parsing_exception]
goroutine 6 [running]:
spider/crawler/persist.save({0x7391e0, 0xc00029c090})
D:/workspace/webspider/crawler/persist/itemSaver.go:40 +0x1e6
spider/crawler/persist.ItemSaver.func1()
D:/workspace/webspider/crawler/persist/itemSaver.go:19 +0xd6
created by spider/crawler/persist.ItemSaver
D:/workspace/webspider/crawler/persist/itemSaver.go:13 +0x6f
exit status 2
请帮忙看下
代码如下
func save(item interface{}) {
client, err := elastic.NewClient(elastic.SetSniff(false))
if err != nil {
panic(err)
}
jitem, err := json.Marshal(item)
if err != nil {
panic(err)
}
resp, err := client.Index().
Index("dating_profile").
Type("zhenai").
BodyJson(jitem).
Do(context.Background())
if err != nil {
panic(err)
}
fmt.Println(resp)
}
写回答
1回答
-
ccmouse
2022-01-20
我查了一下,这个是BodyJson这里,它期待的是一个“对象”,会拿着这个对象去做Marshal,不需要我们事先Marshal。直接传入item即可。
00
相似问题