Golang中的一个简单的Elasticsearch CRUD例子

110 阅读1分钟

这是一个用Golang编写的简单Elasticsearch CRUD例子。请记住,有些文件需要改进。有一些硬编码的部分,重复的部分等等。我必须让这个帖子尽可能的简短。请随意重构它。

我们的例子使用了索引别名,这比具体的索引要好。另外,我们使用UUID作为文档的ID,而不是依赖Elasticsearch的自定义ID,_id 。如果你不想走这条路,那也完全没问题。

运行make docker-up 命令后,在浏览器中访问http://localhost:5000 (ElasticHQ)或http://localhost:9000 (Cerebro),并连接到http://docker_elasticsearch_1:9200 ,以获得UIs。你可以使用你喜欢的任何一种。

结构

├── Makefile

文件

制作文件

.PHONY: docker-up

docker-compose.yaml

version: "3.7"

main.go

package main

error.go

package domain

elasticsearch.go

package elasticsearch

post_storage.go

package elasticsearch

post_storer.go

package storage

handler.go

package post

请求.go

package post

响应.go

package post

service.go

package post

测试

curl --request POST 'http://localhost:3000/api/v1/posts' \