Apache Lucene.NET เป็นไลบรารีการค้นหาข้อความแบบโอเพ่นซอร์สที่เขียนด้วยภาษา C# เป็นท่าเรือของโครงการ Java Apache Lucene ยอดนิยม
Apache Lucene.NET เป็นไลบรารี .NET ที่ให้คุณลักษณะการจัดทำดัชนีและการค้นหาที่มีประสิทธิภาพ ตลอดจนการตรวจตัวสะกด การเน้นการเน้นการเข้าชม และความสามารถในการวิเคราะห์/โทเค็นขั้นสูง
Lucene.NET เวอร์ชัน 4.8 (ยังอยู่ในช่วงเบต้า) ทำงานได้ทุกที่ที่ .NET ทำงาน รวมถึง Windows, Unix, MacOS, Android และ iOS
เว็บไซต์ Apache Lucene.NET อยู่ที่: http://lucenenet.apache.org
เวอร์ชันล่าสุด: Lucene.NET 3.0.3
การทำงานไปสู่ Lucene.NET 4.8.0 (ปัจจุบันอยู่ในรุ่นเบต้า)
PM> Install-Package Lucene.Net
PM> Install-Package Lucene.Net -Pre
เรามีเอกสารเบื้องต้นสำหรับ Lucene.NET 4.8.0 บนเว็บไซต์ Lucene.NET
API นี้คล้ายกับ Java Lucene 4.8.0 ซึ่งคุณอาจพบว่ามีประโยชน์ในการตรวจสอบด้วย
หมายเหตุ: เรากำลังดำเนินการแก้ไขปัญหาเกี่ยวกับเอกสารประกอบ แต่อาจใช้ความช่วยเหลือเพิ่มเติมได้เนื่องจากเป็นโครงการขนาดใหญ่ ดู #206.
มีการสาธิตหลายอย่างที่ใช้เป็นแอปพลิเคชันคอนโซลอย่างง่ายที่สามารถคัดลอกและวางลงใน Visual Studio หรือคอมไพล์บนบรรทัดคำสั่งในโครงการ Lucene.Net.Demo
นอกจากนี้ยังมีเครื่องมือบรรทัดคำสั่ง dotnet บน NuGet ประกอบด้วยการสาธิตทั้งหมดรวมถึงเครื่องมือที่ดูแลดัชนี Lucene.NET ของคุณ ซึ่งมีการดำเนินการต่างๆ เช่น การแยก การผสาน การแสดงรายการข้อมูลเซ็กเมนต์ การแก้ไข การลบเซ็กเมนต์ การอัปเกรด ฯลฯ อย่าลืมสำรองข้อมูลดัชนีของคุณเสมอก่อนที่จะรันคำสั่งใด ๆ ต่อต้านมัน!
dotnet tool install lucene-cli -g --version 4.8.0-beta00015
หมายเหตุ: เวอร์ชันของ CLI ที่คุณติดตั้งควรตรงกับเวอร์ชันของ Lucene.NET ที่คุณใช้
เมื่อติดตั้งแล้ว คุณสามารถสำรวจคำสั่งและตัวเลือกที่มีอยู่ได้โดยการป้อนคำสั่ง lucene
เอกสารประกอบ lucene-cli
เราชอบรับการมีส่วนร่วม! อ่านคู่มือการมีส่วนร่วมของเราหรืออ่านวิธีต่างๆ ที่คุณสามารถช่วยเหลือได้
วิธีเข้าร่วมรายชื่อผู้รับจดหมาย
หากคุณมีคำถามทั่วไปเกี่ยวกับวิธีใช้หรือต้องการความช่วยเหลือจากชุมชน Lucene.NET โปรดสมัครรับรายชื่ออีเมล user
โดยส่งอีเมลไปที่ [email protected] จากนั้นทำตามคำแนะนำเพื่อยืนยันที่อยู่อีเมลของคุณ . โปรดทราบว่าคุณจะต้องสมัครสมาชิกเพียงครั้งเดียวเท่านั้น
หลังจากที่คุณสมัครรับรายชื่ออีเมลแล้ว ให้ส่งอีเมลข้อความของคุณไปที่ [email protected]
หรือคุณสามารถรับความช่วยเหลือผ่านชุมชนที่ใช้งานของ StackOverflow
โปรดอย่าส่งคำถามทั่วไปเกี่ยวกับวิธีใช้ไปที่ GitHub ใช้ GitHub สำหรับรายงานข้อผิดพลาดและงานเท่านั้น
หากต้องการรายงานข้อบกพร่อง โปรดใช้เครื่องมือติดตามปัญหา GitHub
หมายเหตุ: ในอดีต โครงการ Lucene.NET ใช้เครื่องมือติดตามปัญหา JIRA ซึ่งปัจจุบันเลิกใช้แล้ว อย่างไรก็ตาม เรากำลังดำเนินการต่อไปเพื่อติดตามปัญหาเดิม กรุณาส่งปัญหาใหม่ใด ๆ ไปที่ GitHub
หากต้องการเริ่มการอภิปรายด้านการพัฒนาเกี่ยวกับคุณสมบัติทางเทคนิคของ Lucene.NET โปรดส่งอีเมลรายชื่อผู้รับจดหมาย dev
โดยส่งอีเมลไปที่ [email protected] จากนั้นทำตามคำแนะนำเพื่อยืนยันที่อยู่อีเมลของคุณ โปรดทราบว่าคุณจะต้องสมัครสมาชิกเพียงครั้งเดียวเท่านั้น
หลังจากที่คุณสมัครรับรายชื่ออีเมลแล้ว ให้ส่งอีเมลข้อความของคุณไปที่ [email protected]
ก่อนที่คุณจะเริ่มทำงานกับคำขอดึง โปรดอ่านคู่มือการสนับสนุนของเรา
หมายเหตุ: หากโครงการเปิดอยู่ใน Visual Studio การคืนค่าพื้นหลังอาจรบกวนคำสั่งเหล่านี้ ขอแนะนำให้ปิดอินสแตนซ์ทั้งหมดของ Visual Studio ที่เปิด
Lucene.Net.sln
ก่อนดำเนินการ
หากต้องการสร้างซอร์ส ให้โคลนหรือดาวน์โหลดและแตกไฟล์ที่เก็บข้อมูล สำหรับรุ่นเฉพาะ ให้ดาวน์โหลดและแตกไฟล์ .src.zip
จากหน้าดาวน์โหลดของรุ่นนั้นๆ จากพื้นที่เก็บข้อมูลหรือรูทการแจกจ่าย ให้รันคำสั่ง build จากพร้อมท์คำสั่ง และรวมตัวเลือกที่ต้องการจากตารางตัวเลือก build ด้านล่าง:
> build [options]
./build [options]
หมายเหตุ: ไฟล์
build
จะต้องได้รับอนุญาตให้รันโดยใช้คำสั่งchmod u+x build
ก่อนดำเนินการครั้งแรก
ตัวเลือกต่อไปนี้ไม่คำนึงถึงขนาดตัวพิมพ์ แต่ละตัวเลือกมีทั้งรูปแบบสั้นที่ระบุโดยรูป -
เดียวและแบบยาวที่ระบุโดย --
ตัวเลือกที่ต้องการค่าจะต้องตามด้วยช่องว่างตามด้วยค่า ซึ่งคล้ายกับการเรียกใช้ dotnet CLI
สั้น | ยาว | คำอธิบาย | ตัวอย่าง |
---|---|---|---|
‐กำหนดค่า | ------การกำหนดค่า | การกำหนดค่า build ("Release" หรือ "Debug") | สร้าง - ดีบักการกำหนดค่า |
‐mp | ------งานคู่ขนานสูงสุด | จำนวนงานคู่ขนานสูงสุดที่จะรันระหว่างการทดสอบ หากไม่ได้ระบุ ค่าเริ่มต้นคือ 8 | สร้าง -t -mp 10 |
‐พีวี | ------แพ็คเกจ-เวอร์ชัน | เวอร์ชันแพ็คเกจ NuGet หากไม่มีมาให้ จะใช้เวอร์ชันจากไฟล์ Version.proj | สร้าง ‑pv 4.8.0‑beta00001 |
‐ที | --ทดสอบ | ดำเนินการทดสอบหลังการสร้าง ตัวเลือกนี้ไม่จำเป็นต้องมีค่า โปรดทราบว่าโดยทั่วไปการทดสอบจะใช้เวลาประมาณ 40 นาทีกับงานคู่ขนาน 8 งาน | สร้าง -t |
‐fv | ------ไฟล์เวอร์ชัน | เวอร์ชันไฟล์แอสเซมบลี หากไม่ได้ระบุไว้ ค่าเริ่มต้นจะเป็นค่า --package-version (ไม่รวมป้ายกำกับก่อนวางจำหน่าย) เวอร์ชันแอสเซมบลีจะได้มาจากคอมโพเนนต์เวอร์ชันหลักของค่าที่ส่งผ่าน ไม่รวมคอมโพเนนต์รอง การสร้าง และการแก้ไข | สร้าง ‑pv 4.8.0‑beta00001 ‑fv 4.8.0 |
ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้าง Release build ด้วยแพ็คเกจ NuGet เวอร์ชัน 4.8.0‑ci00015 และไฟล์เวอร์ชัน 4.8.0 เวอร์ชันแอสเซมบลีจะได้มาจากส่วนประกอบเวอร์ชันหลักของค่าที่ส่งผ่าน ไม่รวมส่วนประกอบรอง การสร้าง และการแก้ไข (ในกรณีนี้คือ 4.0.0)
> build ‑‑configuration Release ‑pv 4.8.0‑ci00015 ‑fv 4.8.0
./build ‑‑configuration Release ‑pv 4.8.0‑ci00015 ‑fv 4.8.0
ในตัวอย่างข้างต้น เรากำลังใช้ "ci" ในเวอร์ชันแพ็คเกจเพื่อระบุว่านี่ไม่ใช่เวอร์ชันเบต้าที่เผยแพร่ต่อสาธารณะ แต่เป็นผลลัพธ์ของบิลด์การรวมอย่างต่อเนื่องจากต้นแบบซึ่งเกิดขึ้นหลังจาก beta00014 แต่ก่อนที่ beta00015 จะวางจำหน่าย
แพ็คเกจ NuGet จะถูกส่งออกโดยบิลด์ไปยังไดเร็กทอรี /_artifacts/NuGetPackages/
ผลการทดสอบ (ถ้ามี) จะถูกส่งออกไปยังไดเร็กทอรี /_artifacts/TestResults/
คุณสามารถตั้งค่า Visual Studio เพื่ออ่านแพ็คเกจ NuGet เช่นเดียวกับฟีด NuGet ใด ๆ โดยทำตามขั้นตอนเหล่านี้:
+
(เพื่อเพิ่ม)Lucene.Net Local Packages
...
ถัดจากฟิลด์ Source และเลือกโฟลเดอร์ /src/_artifacts/NuGetPackages
บนระบบภายในของคุณ จากนั้นสิ่งที่คุณต้องทำคือเลือกฟีด Lucene.Net Local Packages
จากดรอปดาวน์ (ใน NuGet Package Manager) และคุณสามารถค้นหา ติดตั้ง และอัปเดตแพ็คเกจ NuGet ได้เช่นเดียวกับที่คุณสามารถทำได้กับฟีดบนอินเทอร์เน็ต
Lucene.Net.sln
ใน Visual Studio.build/TestTargetFramework.props
และยกเลิกการแสดงความคิดเห็น <TargetFramework>
ที่เกี่ยวข้อง (และแสดงความคิดเห็นอื่นๆ ทั้งหมด)หมายเหตุ: เมื่อรันการทดสอบใน Visual Studio ตรวจสอบให้แน่ใจว่าได้ตั้งค่าสถาปัตยกรรมโปรเซสเซอร์เริ่มต้นเป็น 64 บิต เพื่อหลีกเลี่ยงไม่ให้หน่วยความจำเสมือนหมดในการทดสอบบางอย่าง
เราได้ตั้งค่าไฟล์ azure-pipelines.yml
ด้วยค่าเริ่มต้นเชิงตรรกะ ดังนั้นใครก็ตามที่มีบัญชี Azure DevOps จึงสามารถสร้าง Lucene.NET และดำเนินการทดสอบได้โดยใช้ความพยายามเพียงเล็กน้อย แม้แต่บัญชี Azure DevOps ฟรีก็ยังใช้งานได้ แต่การทดสอบจะทำงานเร็วขึ้นมากหากบัญชีได้รับการตั้งค่าเป็นสาธารณะ ซึ่งช่วยให้สามารถทำงานแบบขนานได้สูงสุด 10 งานพร้อมกัน
azure-pipelines.yml
มีเอกสารประกอบใกล้ด้านบนของไฟล์ที่ระบุตัวแปรที่สามารถตั้งค่าเพื่อเปิดใช้งานตัวเลือกเพิ่มเติมได้ แต่โปรดทราบว่าการกำหนดค่าเริ่มต้นจะรันบิลด์และการทดสอบทั้งหมดโดยอัตโนมัติ โปรดทราบว่าหลังจากการสร้างเสร็จสมบูรณ์ อาร์ติแฟกต์ nuget
จะมีไฟล์ .nupkg
ซึ่งอาจดาวน์โหลดลงในเครื่องของคุณ ซึ่งคุณสามารถตั้งค่าโฟลเดอร์ในเครื่องให้ทำหน้าที่เป็นฟีด NuGet ได้
นอกจากนี้ยังเป็นไปได้ที่จะเพิ่มรหัสฟีด Azure DevOps ให้กับตัวแปรใหม่ชื่อ
ArtifactFeedID
แต่เราได้รับผลลัพธ์ที่หลากหลายเนื่องจากปัญหาการอนุญาต