บทช่วยสอน Apache Solr: Solr คืออะไร Archiเทคเจอร์และการติดตั้ง
Apache Solr คืออะไร?
Apache Solr เป็นแพลตฟอร์มเซิร์ฟเวอร์การค้นหาโอเพ่นซอร์สที่เขียนขึ้น Java ภาษาที่จัดทำโดยมูลนิธิซอฟต์แวร์ Apache เป็นภาษาที่ปรับขนาดได้สูงและพร้อมที่จะใช้งานเครื่องมือค้นหาเพื่อจัดการข้อมูลที่มีข้อความจำนวนมาก วัตถุประสงค์ในการใช้ Apache Solr คือเพื่อสร้างดัชนีและค้นหาเนื้อหาเว็บจำนวนมากและให้เนื้อหาที่เกี่ยวข้องตามคำค้นหา
Apache Solr คือ HTTP wrapper ที่ใช้ REST-API ร่วมกับเครื่องมือค้นหาข้อความแบบเต็มที่เรียกว่า Apache Lucene ดัชนีกลับด้านคือรายการคำที่แต่ละคำที่ป้อนเข้าไปจะเชื่อมโยงกับเอกสารที่จัดเก็บไว้ วิธีนี้ทำให้สามารถดึงเอกสารทั้งหมดสำหรับคำค้นหา "guru99" ได้ด้วยการดำเนินการ 'get' ง่ายๆ
ประวัติความเป็นมาของ Apache Solr
- 1999: Doug Cutting ตีพิมพ์ Lucene
- พ.ศ. 2004 (ค.ศ. XNUMX): Solr ได้รับการพัฒนาที่ CNET โดย Yonik Seeley โดยเป็นส่วนหนึ่งของโครงการภายในบริษัท
- 2006: CNET เผยแพร่ซอร์สโค้ดโดยบริจาคให้กับซอฟต์แวร์ Apache Foundation
- พ.ศ. 2008: Solr 1.3 เปิดตัวพร้อมความสามารถในการค้นหาที่ได้รับการปรับปรุงและการปรับปรุงประสิทธิภาพ
- 2010: การควบรวมกิจการของ Lucene และ Solr
- 2012: Solr เวอร์ชัน 4.0 เปิดตัว พร้อมฟีเจอร์ใหม่ของ Solr Cloud
- 2016: Solr 6.0 เปิดตัวซึ่งให้การสนับสนุนการดำเนินการสืบค้น SQL แบบขนาน
คุณสมบัติของ Apache Solr
นี่คือคุณสมบัติที่สำคัญของ Apache Solr:
- โหลดบาลานซ์อัตโนมัติ
- อินเทอร์เฟซแบบเปิดตามมาตรฐาน – XML, JSON และ HTTP
- รองรับคำแนะนำและการสะกดคำ
- รองรับการเติมข้อความอัตโนมัติและการค้นหาเชิงพื้นที่
- การรักษาความปลอดภัยในตัวสำหรับการตรวจสอบสิทธิ์และการอนุญาต
- ช่วยให้คุณสามารถดำเนินการค้นหาคำหลักได้หลายภาษา
- การทำนายการเติมข้อความอัตโนมัติ/การพิมพ์ล่วงหน้า
- การประมวลผลแบบแบตช์และการสตรีม
- การสร้างโมเดลแมชชีนเลิร์นนิงเป็นเรื่องง่าย
- ปรับให้เหมาะสมเป็นพิเศษสำหรับการเข้าชมเว็บที่มีปริมาณมาก
- อินเทอร์เฟซการชื่นชม HTML ที่ครอบคลุม
- รองรับการกำหนดค่า Schema และ Schemaless
- การค้นหาและการกรองแบบ Faceted
- การกำหนดค่าส่วนกลางสำหรับทั้งหมด Cluster
คำศัพท์สำคัญที่ใช้ใน Apache Solr
ในบทช่วยสอนเครื่องมือค้นหา Solr นี้ เราจะเรียนรู้เกี่ยวกับคำศัพท์สำคัญที่ใช้ใน Apache Solr:
คำสำคัญ | Descriptไอออน |
---|---|
โซล่าร์คอร์ | Solr Core สามารถกำหนดเป็นดัชนีของข้อความและฟิลด์ที่ได้มาจากเอกสารทั้งหมด อินสแตนซ์ Solr หนึ่งอินสแตนซ์อาจมี Solr Core เดียวหรือหลายคอร์ก็ได้
Core = อินสแตนซ์ของการกำหนดค่า Lucene Index + Solr |
อินสแตนซ์ Solr | Solr Instance เป็นอินสแตนซ์ที่ Solr ทำงานอยู่ใน Java เครื่องเสมือน (JVM- ในโหมดสแตนด์อโลน จะมีเพียงอินสแตนซ์เดียวเท่านั้น ในขณะที่ในโหมดคลาวด์คุณสามารถมีได้หนึ่งอินสแตนซ์ขึ้นไป |
การจัดทำดัชนี | การทำดัชนีเป็นวิธีการสำหรับการเพิ่มเนื้อหาของเอกสารลงในดัชนี Solr Apache Solr ใช้เทคนิค Apache Lucene Inverted Index |
เอกสาร | มันคือกลุ่มของฟิลด์และค่าของมัน เอกสารเป็นหน่วยพื้นฐานของข้อมูลที่เก็บอยู่ใน Apache Core หนึ่งแกน Apache อาจมีเอกสารตั้งแต่หนึ่งฉบับขึ้นไป |
สนาม | ฟิลด์นี้เป็นคู่คีย์-ค่าที่จัดเก็บข้อมูลจริงในเอกสาร คีย์ระบุชื่อฟิลด์และค่าที่มีข้อมูลฟิลด์นั้น เอกสารอาจมีหนึ่งหรือหลายช่อง Apache Solr ใช้เพื่อสร้างดัชนีเนื้อหาเอกสาร |
API ที่สงบ | ในการสื่อสารกับ Solr ไม่จำเป็นต้องใช้ Java การเขียนโปรแกรม Apache Solr จัดให้แทน บริการที่ผ่อนคลาย เพื่อสื่อสารกับมัน คุณสามารถส่งเอกสารและรับผลลัพธ์ในรูปแบบไฟล์ต่างๆ เช่น JSON, XML และ CSV |
ค้นหาข้อความแบบเต็ม | Solr นำเสนอคุณสมบัติสำหรับการค้นหาข้อความแบบเต็ม เช่น โทเค็น วลี การตรวจสอบการสะกด การเติมข้อความอัตโนมัติ ไวด์การ์ด ฯลฯ |
ส่วนต่อประสานผู้ดูแลระบบ | Solr นำเสนออินเทอร์เฟซผู้ใช้ที่ใช้งานง่าย เป็นมิตรต่อผู้ใช้ และขับเคลื่อนด้วยฟีเจอร์ การใช้อินเทอร์เฟซทำให้คุณสามารถทำงานต่างๆ เช่น การจัดการบันทึก เพิ่ม ลบ อัปเดต และค้นหาเอกสาร |
ข้อความเป็นศูนย์กลางและจัดเรียงตามความเกี่ยวข้อง | Apache Solr ใช้เพื่อค้นหาเอกสารข้อความ และผลลัพธ์จะถูกส่งตามคำค้นหาของผู้ใช้ |
โหนด | ในระบบคลาวด์ของ Solr ทุกอินสแตนซ์จะเรียกว่าโหนด |
Cluster | คลัสเตอร์คือกลุ่มของโหนด |
ชุด | คลัสเตอร์มีดัชนีตรรกะซึ่งเรียกอีกอย่างหนึ่งว่าคอลเลกชัน |
Shard | เป็นพื้นที่เล็กๆ ของคอลเลกชันที่นำเสนอดัชนีจำลองเดียวหรือหลายรายการ |
แบบจำลอง | เรพลิกาคือสำเนาของชาร์ดที่ทำงานในโหนด |
ผู้นำ | เป็นแบบจำลองของชาร์ดซึ่งส่งคำขอของ Solr Cloud สำหรับแบบจำลองที่เหลือ |
Apache Solr Archiเทคเจอร์
ในบทช่วยสอนการค้นหา Solr นี้ มาเรียนรู้เกี่ยวกับ Apache Solr กัน Archiเทคเจอร์:
Apache Solr กระทบต่อส่วนประกอบต่อไปนี้
สอบถาม
ตัวแยกวิเคราะห์แบบสอบถามแยกวิเคราะห์แบบสอบถามที่คุณต้องส่งไปยัง Solr จะตรวจสอบคำค้นหาของคุณเพื่อตรวจสอบข้อผิดพลาดทางวากยสัมพันธ์ หลังจากแยกวิเคราะห์ข้อความค้นหาแล้ว ระบบจะแปลเป็นรูปแบบที่ Lucene รู้จัก
ตัวจัดการคำขอ
คำขอที่ส่งไปยัง Apache Solr ได้รับการประมวลผลโดยตัวจัดการคำขอ คำขออาจเป็นคำขอแบบสอบถามหรือคำขออัปเดตดัชนี คุณต้องเลือกตัวจัดการคำขอตามความต้องการของคุณ หากต้องการส่งคำขอไปยัง Solr คุณจะต้องแมปตัวจัดการกับจุดสิ้นสุด URL ที่เฉพาะเจาะจง
ผู้เขียนตอบ
ผู้เขียนตอบกลับจะสร้างผลลัพธ์ที่จัดรูปแบบสำหรับการสืบค้นอินพุต รองรับรูปแบบต่าง ๆ เช่น XML, JSON, CSV.etc คุณอาจมีผู้เขียนคำตอบที่แตกต่างกันสำหรับคำขอประเภทต่างๆ
อัปเดตตัวจัดการ
เมื่อคุณส่งคำขออัปเดตไปยัง Apache Solr คำขอดังกล่าวจะถูกเรียกใช้ผ่านชุดปลั๊กอิน ลายเซ็น การบันทึก การทำดัชนี กระบวนการนี้เรียกว่าตัวประมวลผลคำขออัปเดต ตัวจัดการการอัปเดตยังรับผิดชอบในการแก้ไขเช่นการเพิ่มหรือการวางไฟล์ ฯลฯ
แอปพลิเคชัน Apache Solr
การใช้งาน | การใช้ |
---|---|
พอร์ทัลอินทราเน็ต |
|
ลูกค้าส่วนกลาง |
|
ชุดข้อมูลเครื่องมือ |
|
เอกสารกำกับดูแล |
|
ฝังอยู่ในแอปพลิเคชัน PLM |
|
จะติดตั้ง Apache Solr ได้อย่างไร?
ขั้นตอน 1) เปิดเว็บไซต์ & สมัครสมาชิกต่อไป
ไปที่นี้ ลิงค์, คลิก “สมัครสมาชิกต่อ”
ขั้นตอน 2) คลิกที่ยอมรับข้อกำหนด
ในหน้าถัดไป คลิกที่ยอมรับข้อกำหนด
ขั้นตอน 3) รอสักครู่
ถัดไป รอสักครู่ จากนั้นคำขอจะได้รับการยอมรับหลังจากผ่านไประยะหนึ่ง
ขั้นตอน 4) เข้าสู่การกำหนดค่า
รีเฟรชหน้าและคลิก "ดำเนินการต่อเพื่อกำหนดค่า"
ขั้นตอน 5) เปิดตัวต่อไป
คงการตั้งค่าเริ่มต้นไว้และคลิก "ดำเนินการต่อเพื่อเปิดใช้"
ขั้นตอน 6) คงการตั้งค่าเริ่มต้นไว้
ในหน้าถัดไป คงการตั้งค่าเริ่มต้นไว้
- ตรวจสอบให้แน่ใจว่าคุณมีไฟล์ pem ของคีย์
- คลิก “เปิดตัว”
คุณจะเห็นข้อความแห่งความสำเร็จนี้
ขั้นตอน 7) สังเกต DNS สาธารณะ
ในคอนโซล EC2 ให้จดบันทึก DNS สาธารณะของอินสแตนซ์ของคุณ
ขั้นตอน 8) เปิด URL ด้านล่าง
หากต้องการเข้าถึง Solr เพียงใช้ URL
http://publicdns:8983
ในกรณีของเรามันจะกลายเป็น
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
หมายเหตุ: หากคุณมีปัญหาในการเข้าถึงอินสแตนซ์ ให้เปลี่ยนกฎขาเข้าและขาออกในอินสแตนซ์ของคุณเพื่ออนุญาตการรับส่งข้อมูลทั้งหมดดังที่แสดงในตัวอย่างแบบสอบถาม Solr ด้านล่าง:
Elasticsearch กับ อาปาเช่ โซล
พารามิเตอร์ | Apache Solr | ค้นหายืดหยุ่น |
---|---|---|
ธรรมชาติ | มันเป็นโครงการโอเพ่นซอร์ส | ไม่ใช่โครงการโอเพ่นซอร์ส |
สถานะคงที่ | คงที่ใน shema.xml | คงที่ใน elasticsearch.yml |
รูปแบบ | XML, CSV, JSON | เจสันเท่านั้น |
ดัชนี | สามารถโหลดซ้ำได้ในระหว่างรันไทม์ด้วยการโหลดคอลเลกชัน/คอร์ | กำหนดระหว่างการสร้างดัชนี/ประเภทด้วยการเรียก REST |
เอกสาร | เป็นเอกสารอย่างดี | มีการบันทึกไว้ไม่ดี |
การแยกเศษ | เป็นไปได้ | เป็นไปไม่ได้ |
ข้อดีของ Apache Solr
- ช่วยให้คุณลดระยะเวลาที่ใช้ในการค้นหาข้อมูล
- เป็นเครื่องมือค้นหาที่รวดเร็ว เรียบง่าย ทรงพลัง และยืดหยุ่น
- ช่วยให้คุณเข้าถึงผลิตภัณฑ์และบริการของคุณได้มากขึ้น
- เพิ่มการใช้จ่ายของลูกค้าบนเว็บแอปพลิเคชัน
- ช่วยให้คุณปรับปรุงประสบการณ์ผู้ใช้บนเว็บแอปพลิเคชันเพื่อเพิ่มรายได้และผลกำไร
- อินเทอร์เฟซการดูแลระบบที่ใช้ HTML ที่ครอบคลุม
- มีความยืดหยุ่นและปรับเปลี่ยนได้ด้วยการกำหนดค่า XML
- ปลั๊กอินที่ขยายได้ Archiเทคเจอร์
- เครื่องมือค้นหาที่ปรับขนาดได้สูง แข็งแกร่ง และทนทานต่อข้อผิดพลาด
- รองรับการกระจาย, การแรเงา, การจำลองแบบ, Clusterไอเอ็นจีและมัลติโหนด Archiเทคเจอร์
ข้อเสียของ Apache Solr
- ไม่ใช่ที่เก็บข้อมูลที่สอดคล้องกับ ACID
- มันไม่มีประโยชน์ในฐานะที่เก็บข้อมูลหลัก มีประโยชน์ในฐานะที่เก็บข้อมูลรองเท่านั้น
- ไม่ให้การสนับสนุนธุรกรรมและธุรกรรมแบบกระจาย
- ไม่รองรับการเข้าร่วมและการค้นหาที่ซับซ้อน
- ไม่เหมาะสำหรับข้อมูลที่ทำให้เป็นมาตรฐาน
สรุป
- Apache Solr เป็นโอเพ่นซอร์ส ส่วนที่เหลือ-API เซิร์ฟเวอร์การค้นหาตาม
- Apache Solr ได้รับการพัฒนาที่ CNET โดย Yonik Seeley ในฐานะโครงการส่วนหนึ่งของบริษัท
- Apache Solr นำเสนอคุณสมบัติต่างๆ เช่น การเติมข้อความอัตโนมัติและการค้นหาเชิงพื้นที่
- Solr Core, Solr Instance, การทำดัชนี, เอกสาร, Restful APIs, การค้นหาข้อความแบบเต็ม, อินเทอร์เฟซผู้ดูแลระบบ ฯลฯ เป็นคำสำคัญบางคำที่ใช้ใน Apache Solr
- Query, Request Handler, Request Writer และ Update Handler คือองค์ประกอบที่สำคัญบางประการของ Apache Solr
- พอร์ทัลอินทราเน็ต, ไคลเอ็นต์รวม, ชุดข้อมูลเครื่องมือ, เอกสารข้อบังคับ, ที่ฝังอยู่ในแอปพลิเคชัน PLM ล้วนเป็นประโยชน์สำหรับแอปพลิเคชัน Apache Solr
- Apache Solr มีการบันทึกข้อมูลไว้อย่างดีเมื่อเปรียบเทียบกับการค้นหาแบบยืดหยุ่นซึ่งมีการบันทึกข้อมูลไว้ไม่ดี
- ข้อได้เปรียบที่ใหญ่ที่สุดของ Apache Solr คือช่วยให้คุณลดระยะเวลาที่ใช้ในการค้นหาข้อมูล
- ข้อเสียเปรียบหลักของแอปพลิเคชันนี้ ไม่ใช่ที่เก็บข้อมูลที่สอดคล้องกับ ACID