
- ง่ายกระจายน้ำหนักเบา
การใช้งานเครื่องมือค้นหาที่เขียนใน GO?
SearchGoose เป็น เครื่องมือค้นหาแบบกระจาย อย่างง่าย ๆ ที่รองรับการค้นหาและจัดทำดัชนีข้อมูล เพื่อวัตถุประสงค์ในการศึกษาส่วนใหญ่ทำความเข้าใจรายละเอียดการใช้งานของวิธีการสร้าง Elasticearch โดยมุ่งเน้นไปที่การจัดกลุ่มระบบกระจายและสนับสนุนการค้นหาข้อความเต็มโดยใช้ Bleve SearchGoose มีจุดมุ่งหมายเพื่อให้การจัดการข้อมูลที่รวดเร็วและยืดหยุ่นโดยการแก้ปัญหาของฐานข้อมูลเชิงสัมพันธ์ที่มีอยู่ซึ่งกำลังรบกวนงานเพื่อค้นหาและแบ่งข้อมูลสตริง เพื่อแก้ปัญหานี้โครงการนี้ใช้โครงสร้างข้อมูลที่เรียกว่า ดัชนีกลับด้าน ที่รองรับการค้นหาข้อความเต็มข้อความที่รวดเร็ว นอกจากนี้ยังใช้อัลกอริทึมเหมือนแพและระบบการลงคะแนนตามองค์ประชุมสำหรับการค้นพบและบริการการเลือกตั้งในโหมดการจัดกลุ่ม


$ docker build . --rm --tag searchgoose:latest$ make build$ go run main.go -transport.port=8180 -http.port=8080$ go run main.go -node.name=sg-node-01 -transport.port=8180 -http.port=8080
$ go run main.go -node.name=sg-node-02 -seed_hosts=127.0.0.1:8180 -transport.port=8179 -http.port=8081
$ go run main.go -node.name=sg-node-03 -seed_hosts=127.0.0.1:8180 -transport.port=8181 -http.port=8082หากต้องการลองใช้การสืบค้นด้านล่างใด ๆ คุณสามารถใช้ตัวอย่าง Quies ด้านบน
PUT /test15
content-type: application/json
{
"settings": {
"number_of_shards": 3
},
"mappings": {
"properties": {
"field1": {
"type": "text"
}
}
}
}
PUT /test15/_doc/4
content-type: application/json
{
"field1": "test",
"field2": "test2"
}
POST /test15/_search
content-type: application/json
{
"size": 100,
"query": {
"match": {
"field1": "field test"
}
}
}
ภาพด้านบนอธิบายแอปพลิเคชันทดสอบ SearchGoose โดยใช้ Guttenberg-Search
ภาพด้านบนอธิบายอินเทอร์เฟซที่เรียบง่ายสำหรับการจัดการและตรวจสอบกลุ่ม SearchGoose โดย Elasticsearch-HQ