|. แอปพลิเคชัน - การติดตั้ง - การพัฒนา - เอกสารประกอบ - การเรียนรู้เชิงลึก - คำถามที่พบบ่อย - เคล็ดลับ - EA ครึ่งชั่วโมง - หัวข้อทางเทคนิค |
kumo search
เป็นเฟรมเวิร์กเครื่องมือค้นหาแบบ end-to-end ที่รองรับการเรียกค้นข้อความแบบเต็ม ดัชนีกลับด้าน ดัชนีไปข้างหน้า การเรียงลำดับ แคช การแบ่งชั้นดัชนี ระบบการแทรกแซง การรวบรวมคุณลักษณะ การประมวลผลแบบออฟไลน์ ระบบจัดเก็บข้อมูล และฟังก์ชันอื่น ๆ kumo search
ทำงานบนแพลตฟอร์ม EA
(สถาปัตยกรรมโครงสร้างพื้นฐานอัตโนมัติแบบยืดหยุ่น) และรองรับฟังก์ชันต่างๆ เช่น工程自动化
服务治理
实时数据
服务降级与容灾
ในห้องคอมพิวเตอร์หลายห้องและหลายคลัสเตอร์
ด้วยการพัฒนาอินเทอร์เน็ต การค้นหาอินเทอร์เน็ตทั้งหมดไม่ใช่วิธีเดียวในการรับข้อมูลอีกต่อไป บริการข้อมูลแนวดิ่งหลายแห่ง เช่น อีคอมเมิร์ซ เครือข่ายสังคมออนไลน์ ข่าว ฯลฯ มีเครื่องมือค้นหาของตัวเอง ลักษณะของเสิร์ชเอ็นจิ้นเหล่านี้คือ: ปริมาณข้อมูลปานกลาง, ธุรกิจที่ซับซ้อน และความต้องการประสบการณ์ผู้ใช้สูง การพัฒนาเครื่องมือค้นหาเหล่านี้ต้องอาศัยการสนับสนุนทางวิศวกรรมและอัลกอริธึมอย่างมาก kumo search
มุ่งหวังที่จะจัดเตรียมเฟรมเวิร์กเครื่องมือค้นหาที่พร้อมใช้งานทันทีเพื่อช่วยให้ผู้ใช้สร้างเครื่องมือค้นหาของตนเองได้อย่างรวดเร็ว บนเฟรมเวิร์กนี้ ผู้ใช้สามารถเขียนตรรกะทางธุรกิจใน python
ผ่านคอมไพเลอร์ AOT ในโปรเจ็กต์ได้ เฟรมเวิร์กจะสร้างโค้ด c++
และไลบรารีไดนามิกแบบไบนารีโดยอัตโนมัติ ซึ่งจะได้รับการอัพเดตแบบไดนามิกในเครื่องมือค้นหา สิ่งนี้ทำให้สามารถทำซ้ำเครื่องมือค้นหาได้อย่างรวดเร็ว
หมายเลขซีเรียล | ชื่อโครงการ | แสดงให้เห็น | แสดงให้เห็น |
---|---|---|---|
1 | คอลลี่ | อ้างอิงเฉพาะไลบรารีส่วนหัวภายนอก เช่น jason, toml ฯลฯ สำหรับการจัดการแบบรวมศูนย์ | |
2 | เทอร์โบ | แฮช บันทึก คลาสคอนเทนเนอร์ การดำเนินการที่เกี่ยวข้องกับสตริง | |
3 | แตงโม | การสื่อสารอาร์พีซี | |
4 | ด่าง | การห่อหุ้มระบบไฟล์, ไฟล์ในเครื่อง, hdfs, s3 ฯลฯ | ระบบไฟล์ Unified API, zlib, lz4, zst Unified API |
5 | มิซาร์ | อิงจาก rocksdb ซึ่งเป็นแกนหลักของเอ็นจิ้นการจัดเก็บข้อมูล toplingdb | ฟังก์ชัน wisekey ยังไม่ได้รับการพัฒนา ในขณะนี้ เวอร์ชันอย่างเป็นทางการของ rocksdb จะถูกนำมาใช้ |
6 | อาลิออธ ยู่เหิง | หน่วยความจำตาราง | อยู่ระหว่างการพัฒนา |
7 | megreztianquan | การอ่านและการเขียนชุดข้อมูล | hdf5 cvs bin เสร็จสมบูรณ์แล้ว และ c++ api ขั้นสูงจะถูกห่อหุ้ม |
8 | เพชรดา | Unified Vector Engine เข้าถึง API UnifiedIndex เพื่อทำให้อินเทอร์เฟซง่ายขึ้น | รองรับสแน็ปช็อตปลั๊กอินตัวกรอง |
9 | เมรักเทียนซวน | แกนเครื่องมือค้นหาที่ครอบคลุม | ที่จะได้รับการพัฒนา |
10 | ตู่เหอ เทียนซู่ | เคอร์เนล nlp | ที่จะได้รับการพัฒนา |
11 | เปลวไฟ | GPU, การคำนวณเทนเซอร์มิติสูงของ CPU ฯลฯ | |
12 | ไธอา | ขึ้นอยู่กับกราฟิก opengl และการแสดงรูปภาพ เซิร์ฟเวอร์ไม่พร้อมใช้งาน (ไม่มีอุปกรณ์แสดงผล) | |
13 | แคระ | เคอร์เนลโปรโตคอล jupyter c ++ | |
14 | อพยพ | เฮอร์คิวลีสและแอปพลิเคชันจูปิเตอร์อื่นๆ | เสร็จ |
15 | เฮอร์คิวลีส | คอมไพเลอร์หลาม aot | |
16 | คาร์บิน | ตัวจัดการแพ็คเกจ c++, ตัวสร้าง cmake | เสร็จ |
17 | carbin-แม่แบบ | ไลบรารีเทมเพลต cmake | เสร็จ |
18 | สูตรคาร์บิน | สูตรคาร์บินขึ้นอยู่กับการกำหนดค่าแบบกำหนดเองของไลบรารี | เสร็จ |
18 | ฮาดาร์ | แนะนำเคอร์เนลบริการคำแนะนำการค้นหา | ใกล้เสร็จสมบูรณ์แล้ว ไม่ใช่โอเพ่นซอร์สสำหรับใช้ในเชิงพาณิชย์ |
19 | ดาวเนปจูน | บริการส่วนหน้าของ ea | อยู่ระหว่างการพัฒนา |
หมายเลขซีเรียล | ชื่อโครงการ | แสดงให้เห็น | กำหนดการ |
---|---|---|---|
1 | ซิเรียส | การค้นพบบริการเซิร์ฟเวอร์เมตาดาต้าของ EA, บริการนาฬิกาทั่วโลก, บริการกำหนดค่าส่วนกลาง, บริการ ID ทั่วโลก | เสร็จ |
2 | โพลาริส | บริการสแตนด์อโลนของเครื่องยนต์เวกเตอร์ | เสร็จ |
3 | เอลนาธ | บริการค้นหาและอ้างอิงแบบสแตนด์อโลนที่ครอบคลุม | อยู่ระหว่างการพัฒนา |
4 | เวก้า | รุ่นคลัสเตอร์ฐานข้อมูล Vector Engine | ใช้งานเชิงพาณิชย์ได้อย่างสมบูรณ์ แต่ไม่ใช่โอเพ่นซอร์ส |
5 | อาร์คทูรัส | เวอร์ชันคลัสเตอร์ของเครื่องมือค้นหาที่ครอบคลุม | อยู่ระหว่างการพัฒนาไม่ใช่โอเพ่นซอร์สสำหรับใช้ในเชิงพาณิชย์ |
6 | พอลลักซ์ | คอนโซลธุรกิจเครื่องยนต์แบบรวม | อยู่ระหว่างการพัฒนาไม่ใช่โอเพ่นซอร์สสำหรับใช้ในเชิงพาณิชย์ |
7 | คาเปลลา | บริการคัดแยก | อยู่ระหว่างการพัฒนาไม่ใช่โอเพ่นซอร์สสำหรับใช้ในเชิงพาณิชย์ |
8 | อัลเดบารัน | แนะนำคลัสเตอร์บริการคำแนะนำการค้นหา | อยู่ระหว่างการพัฒนาไม่ใช่โอเพ่นซอร์สสำหรับใช้ในเชิงพาณิชย์ |
9 | นุนกี้ | เอ็นแอลพี เซอร์วิส | อยู่ระหว่างการพัฒนาไม่ใช่โอเพ่นซอร์สสำหรับใช้ในเชิงพาณิชย์ |
ซีรีส์ความยาวครึ่งชั่วโมงมุ่งเน้นไปที่การสร้างบริการแอปพลิเคชันระดับองค์กรอย่างรวดเร็วโดยใช้โครงสร้างพื้นฐาน EA
โดยเน้นที่การปฏิบัติงานจริง การเริ่มต้นอย่างรวดเร็ว การพัฒนาอย่างรวดเร็ว การปรับใช้อย่างรวดเร็ว และการวนซ้ำอย่างรวดเร็ว
**หัวข้อนี้แนะนำความรู้พื้นฐานของเครื่องมือค้นหาเป็นหลัก ตลอดจนวิวัฒนาการ การอัพเกรด และการออกแบบสถาปัตยกรรมการค้นหาด้วยการพัฒนาเทคโนโลยีการค้นหาและธุรกิจการค้นหา ตลอดจนหลักการทางเทคนิคและการนำไปปฏิบัติที่อยู่เบื้องหลัง -
EA
เป็นโครงสร้างพื้นฐานของแอปพลิเคชันฝั่งเซิร์ฟเวอร์ ปัจจุบัน EA
รองรับระบบปฏิบัติการ centos
และ ubuntu
ขณะนี้ระบบ mac
อยู่ระหว่างการพัฒนาและเราจะพยายามอย่างดีที่สุดเพื่อรองรับระบบ mac
อย่างไรก็ตาม เรายังไม่ได้ลองใช้ เพื่ออำนวยความสะดวกในการคอมไพล์และการพัฒนา IDE อาจมีลองใช้ฟังก์ชันบางอย่างที่ตามมาเพื่อความเข้ากันได้ สำหรับการปรับใช้สภาพแวดล้อมพื้นฐาน โปรดดูที่ การติดตั้งและการใช้งาน
cicd
ของระบบ EA
ได้รับการจัดการโดยใช้เครื่องมือ carbin carbin
เป็นตัวจัดการแพ็คเกจ c++
, ตัวสร้าง cmake
, เครื่องมือ cicd
carbin
สามารถดาวน์โหลดไลบรารี่ที่ขึ้นอยู่กับบุคคลที่สาม สร้างระบบการสร้าง cmake
และคอมไพล์และปรับใช้โปรเจ็กต์ สำหรับการใช้ carbin
โปรดดูเอกสารคาร์บิน
คาร์บิน | คอนดา | เอาล่ะ | CPM | โคนัน | บาเซล | |
---|---|---|---|---|---|---|
ความซับซ้อนในการใช้งาน | ง่าย | กลาง | แข็ง | กลาง | แข็ง | แข็ง |
ความยากในการติดตั้ง | ปิ๊บง่าย ๆ | ไบนารีง่าย | นะ ง่ายๆ | เอาล่ะ | ปิ๊บง่าย ๆ | ไบนารี่ยาก |
รูปแบบการพึ่งพา | แหล่งที่มา/ไบนารี | ไบนารี่ | แหล่งที่มา | แหล่งที่มา | แหล่งที่มา/ไบนารี | แหล่งที่มา |
ต้นไม้พึ่งพา | สนับสนุน | สนับสนุน | สนับสนุน | สนับสนุน | สนับสนุน | สนับสนุน |
ซอร์สโค้ดท้องถิ่น | สนับสนุน | นา | สนับสนุน | สนับสนุน | นา | สนับสนุน |
ความเข้ากันได้ | ดี | กลาง | ดี | ดี | ดี | ยากจน |
ความเร็ว | ดี | กลาง | ยากจน | ยากจน | ดี | ยากจน |
conda เป็นเครื่องมือการจัดการที่ดี ฉันไม่ได้เลือก conda เนื่องจากการพึ่งพาการคอมไพล์นั้นค่อนข้างซับซ้อนและตัวเลือกการคอมไพล์มักจะทำให้เกิดปัญหา ทำให้ไม่เหมาะสำหรับการคอมไพล์โปรเจ็กต์ C++ เครื่องมือการจัดการที่มาพร้อมกับ cmake ไม่เหมาะสำหรับการจัดการโปรเจ็กต์ขนาดใหญ่ แต่ละครั้งที่คุณคอมไพล์โปรเจ็กต์ใหม่ อาจทำให้ไลบรารีที่ขึ้นต่อกันต้องดาวน์โหลดใหม่อีกครั้ง และเวลาคอมไพล์จะยาวเกินไป CPM เป็นตัวจัดการแพ็คเกจ C++ ในทำนองเดียวกัน ในสภาพแวดล้อมเครือข่ายภายในประเทศ การดาวน์โหลดไลบรารี่ที่ต้องพึ่งพานั้นช้าและไม่เหมาะสำหรับการจัดการโปรเจ็กต์ขนาดใหญ่ Conan เป็นตัวจัดการแพ็คเกจ C++ แต่ความเร็วในการดาวน์โหลดของไลบรารีที่ขึ้นต่อกันของ conan นั้นช้าและไม่เหมาะสำหรับการจัดการโปรเจ็กต์ขนาดใหญ่
ในเวลาเดียวกัน carbin ยังเหมาะมากสำหรับการจัดการโปรเจ็กต์ C++ Carbin สามารถสร้างระบบ cmake การจัดการโปรเจ็กต์ C++ ได้อย่างรวดเร็ว โดยเป็นการรวมกระบวนการคอมไพล์โปรเจ็กต์ การกำหนดค่าตัวเลือก และกฎตัวแปรสำหรับการติดตั้งและส่งออกหลังจากการคอมไพล์โปรเจ็กต์ระบบ EA
สามารถค้นหาโปรเจ็กต์และแพ็กเกจผ่านกฎคง find_package
นอกจากนี้ยังเหมาะสำหรับใช้ในโครงการที่ใช้ cmake
หากคุณพัฒนาโดยใช้นักเทียบท่า EA
จะให้การพัฒนาพื้นฐานของคอนเทนเนอร์ ea inf:
centos7-openssl11-python-310-gcc-9.3:
lijippy/ea_inf:c7_base_v1