ในภูมิทัศน์ดิจิทัลในปัจจุบัน ความสามารถในการค้นหาเอกสารจำนวนมากอย่างแม่นยำและมีประสิทธิภาพเป็นข้อกำหนดที่สำคัญสำหรับแอปพลิเคชันจำนวนมาก อย่างไรก็ตาม อัลกอริธึมการค้นหาที่ตรงกันทุกประการมักจะไม่เพียงพอเมื่อผู้ใช้พิมพ์ผิด ใช้การสะกดแบบอื่น หรือป้อนข้อมูลไม่ครบถ้วน การค้นหาแบบฟัซซีจึงมีความสำคัญอย่างยิ่ง การค้นหาแบบฟัซซีเป็นเทคนิคที่ช่วยให้จับคู่ได้โดยประมาณ ทำให้ผู้ใช้สามารถค้นหาผลลัพธ์ที่เกี่ยวข้องได้ แม้ว่าคำค้นหาและเนื้อหาเป้าหมายจะไม่เหมือนกันก็ตาม ปัจจุบัน นักพัฒนาสามารถค้นหาแบบฟัซซีโดยใช้ C# โดยใช้ประโยชน์จากความสามารถขั้นสูงเพื่อปรับปรุงความแม่นยำในการค้นหา ไม่ว่าคุณจะต้องสร้างการค้นหาเอกสารด้วยลอจิกแบบฟัซซีใน C# สำหรับระบบการจัดการเอกสารระดับองค์กรหรือสร้างยูทิลิตี้การค้นหาแบบง่าย บทความนี้จะให้คำแนะนำโดยละเอียด
ขั้นตอนในการค้นหาแบบฟัซซี่โดยใช้ C#
- กำหนดค่าการตั้งค่าการพัฒนาของคุณโดยเพิ่มไลบรารี GroupDocs.Search for .NET ซึ่งอำนวยความสะดวกในการใช้งานการค้นหาแบบฟัซซี
- สร้างอ็อบเจ็กต์ Index เพื่อกำหนดตำแหน่งจัดเก็บที่เอกสารของคุณจะถูกจัดระเบียบและเตรียมไว้สำหรับการค้นหาอย่างรวดเร็ว
- ใช้เมธอด Index.Add เพื่อรวมไฟล์ไว้ในดัชนี โดยชี้ไปยังโฟลเดอร์ที่มีเอกสารที่คุณต้องการประมวลผล
- กำหนดค่าตัวเลือกการค้นหาเพื่อเปิดใช้งานการค้นหาแบบคลุมเครือโดยใช้คุณสมบัติ FuzzySearch.Enabled ซึ่งช่วยให้สามารถจับคู่ได้โดยประมาณ
- กำหนดอัลกอริทึมการค้นหาแบบฟัซซีด้วยระดับความคล้ายคลึงโดยใช้คุณสมบัติ FuzzySearch.FuzzyAlgorithm ระดับนี้ระบุจำนวนข้อผิดพลาดที่อนุญาตตามความยาวของคำ (เช่น ข้อผิดพลาดสูงสุด 2 ครั้งสำหรับคำที่มี 10-14 อักขระ)
- ดำเนินการค้นหาในดัชนีโดยใช้แบบสอบถามและ SearchOptions เพื่อรับผลลัพธ์ที่ตรงกัน
การค้นหาแบบฟัซซีใน GroupDocs.Search ทำงานโดยเปิดใช้งานการจับคู่โดยประมาณระหว่างแบบสอบถามการค้นหาและเนื้อหาที่สร้างดัชนี ซึ่งทำได้โดยใช้ อัลกอริทึมการค้นหาแบบฟัซซีใน C# ที่มีเกณฑ์ความคล้ายคลึง เช่น 0.8
ซึ่งอนุญาตให้เกิดความไม่ตรงกันได้มากถึง 20% และอัลกอริทึมแบบฟัซซีที่ปรับข้อผิดพลาดที่อนุญาตตามความยาวของคำ ในการดำเนินการนี้ ให้เริ่มต้นด้วยการตั้งค่าสภาพแวดล้อมการพัฒนาของคุณและเพิ่มไลบรารีลงในโปรเจ็กต์ของคุณ สร้างดัชนีเพื่อจัดเก็บเอกสารของคุณ จากนั้นเพิ่มไฟล์ที่คุณต้องการค้นหา เปิดใช้งานการค้นหาแบบฟัซซีในตัวเลือกการค้นหาโดยตั้งค่าคุณสมบัติ FuzzySearch.Enabled
เป็น true
และกำหนดค่าเกณฑ์ความคล้ายคลึงโดยใช้คุณสมบัติ FuzzyAlgorithm
เพื่อกำหนดระดับความไม่ตรงกันที่ยอมรับได้ สุดท้าย ให้ดำเนินการแบบสอบถามการค้นหาด้วยตัวเลือกเหล่านี้ และไลบรารีจะส่งคืนผลลัพธ์ตามการจับคู่โดยประมาณ ช่วยให้คุณสามารถจัดการกับข้อผิดพลาดหรือการเปลี่ยนแปลงในเงื่อนไขการค้นหาได้อย่างมีประสิทธิภาพ
โค้ดสำหรับดำเนินการค้นหาแบบฟัซซี่โดยใช้ C#
using GroupDocs.Search; | |
using GroupDocs.Search.Options; | |
using GroupDocs.Search.Results; | |
namespace PerformFuzzySearchUsingCSharp | |
{ | |
internal class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Apply the license to remove the restrictions | |
// imposed by the Search library | |
License lic = new License(); | |
lic.SetLicense(@"GroupDocs.Search.lic"); | |
string indexFolder = @"d:\MyIndex\"; | |
string documentsFolder = @"d:\MyDocuments\"; | |
string query = "Einstein"; | |
// Creating an index in the specified folder | |
Index index = new Index(indexFolder); | |
// Indexing documents from the specified folder | |
index.Add(documentsFolder); | |
SearchOptions options = new SearchOptions(); | |
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search | |
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.8); | |
// Creating the fuzzy search algorithm | |
// This function specifies 0 as the maximum number of mistakes | |
// for words from 1 to 4 characters. | |
// It specifies 1 as the maximum number of mistakes for words | |
// from 5 to 9 characters. | |
// It specifies 2 as the maximum number of mistakes for words | |
// from 10 to 14 characters. And so on. | |
// Search in index | |
SearchResult result = index.Search(query, options); | |
} | |
} | |
} |
โดยสรุป การนำการค้นหาแบบฟัซซีไปใช้ใน C# โดยใช้ไลบรารี Search ถือเป็นวิธีการที่ตรงไปตรงมาและมีประสิทธิภาพในการเพิ่มความสามารถในการค้นหาของแอปพลิเคชันของคุณ บทช่วยสอนการค้นหาแบบฟัซซีสำหรับนักพัฒนา .NET นี้จะสาธิตวิธีการจัดการการจับคู่โดยประมาณด้วยตัวเลือกที่ปรับแต่งได้ เพื่อให้แน่ใจว่าผู้ใช้สามารถค้นหาผลลัพธ์ที่เกี่ยวข้องได้ แม้แต่กับแบบสอบถามที่ไม่สมบูรณ์แบบ ลักษณะที่ไม่ขึ้นกับแพลตฟอร์มของไลบรารี Search ทำให้เป็นตัวเลือกที่หลากหลาย ช่วยให้นักพัฒนาสามารถสร้างฟังก์ชันการค้นหาที่มีประสิทธิภาพในสภาพแวดล้อมต่างๆ ได้ ไม่ว่าคุณจะกำลังพัฒนาระบบการจัดการเอกสาร ยูทิลิตี้การค้นหา หรือแอปพลิเคชันใดๆ ที่ต้องการการค้นหาอัจฉริยะ ไลบรารีนี้จะช่วยให้คุณมีเครื่องมือเพื่อมอบประสบการณ์ที่มีประสิทธิภาพและเป็นมิตรต่อผู้ใช้
ก่อนหน้านี้ เราได้แบ่งปันคำแนะนำโดยละเอียดเกี่ยวกับการใช้งานการค้นหาแบบแยกส่วนใน C# หากต้องการคำแนะนำทีละขั้นตอนอย่างครบถ้วน โปรดอย่าพลาดบทความโดยละเอียดของเราใน วิธีการดำเนินการค้นหาแบบแยกส่วนโดยใช้ C#