
ในโลกปัจจุบันที่เต็มไปด้วยข้อมูลที่ไม่เป็นระเบียบและการป้อนข้อมูลของผู้ใช้ที่ไม่สม่ำเสมอ การค้นหาที่ตรงเป๊ะมักจะไม่เพียงพอ ไม่ว่าคุณจะทำงานเกี่ยวกับระบบจัดการเอกสาร เครื่องมือวิเคราะห์เนื้อหา หรือเครื่องมือค้นหาขององค์กร การใช้การค้นหาที่มีความคลุมเครือช่วยให้คุณสามารถดึงผลลัพธ์ที่เกี่ยวข้องแม้ว่า query การค้นหาจะมีการพิมพ์ผิด ความแตกต่างในการสะกดคำ หรือความแตกต่างเล็กน้อย ในบล็อกโพสต์นี้ เราจะสำรวจวิธีการนำการค้นหาที่มีความคลุมเครือมาใช้ใน C# โดยใช้ Conholdate.Total สำหรับ .NET SDK คุณจะได้เรียนรู้วิธีการค้นหาข้ามไฟล์หลายไฟล์ที่เก็บอยู่ในโฟล
ทำไมต้องใช้การค้นหาแบบเบลอ?
การค้นหาแบบ Fuzzy เป็นฟีเจอร์ที่จำเป็นสำหรับแอปพลิเคชันสมัยใหม่ใดๆ ที่จัดการกับเนื้อหาที่สร้างโดยผู้ใช้หรืองานที่เกี่ยวข้องกับแหล่งข้อมูลที่หลากหลาย แตกต่างจากการค้นหาแบบตรง ที่จะคืนผลลัพธ์เฉพาะที่ตรงตามคำค้นหาอย่างแม่นยำ การค้นหาแบบ Fuzzy จะดึงเอกสารที่ใกล้เคียงกับการค้นหาตามระดับความคล้ายคลึงที่กำหนด วิธีนี้ช่วยปรับปรุงประสบการณ์ผู้ใช้ได้อย่างมากโดยคำนึงถึงการพิมพ์ผิด ความไม่สอดคล้องของการสะกด หรือความแตกต่างทางภาษาที่เล็กน้อย
สำหรับตัวอย่าง ในสถานการณ์ที่ผู้ใช้ค้นหาคำว่า “reciept” แทนที่จะเป็น “receipt” การค้นหาที่แน่นอนจะล้มเหลว ขณะที่การค้นหาที่คลุมเครือยังคงคืนผลลัพธ์ที่เกี่ยวข้อง นี่เป็นสิ่งที่มีประโยชน์โดยเฉพาะในสาขาต่าง ๆ เช่น การเรียกคืนเอกสารทางกฎหมาย การวิจัยทางวิชาการ และการขุดข้อมูลขององค์กร ซึ่งความแม่นยำและความยืดหยุ่นมีความสำคัญทั้งคู่
การค้นหาแบบฟัซซี่ - การตั้งค่า .NET
คุณจำเป็นต้องติดตั้ง Conholdate.Total for .NET ด้วยคำสั่งติดตั้ง NuGet ดังต่อไปนี้:
Install-Package Conholdate.Total
ค้นหาที่ไม่ชัดเจนในหลายไฟล์และโฟลเดอร์ใน C#
คุณสามารถทำการค้นหาแบบฟัซซี่ในชุดเอกสารที่กว้างขวางซึ่งเก็บอยู่ในโฟลเดอร์ที่แตกต่างกัน คุณสามารถกำหนดระดับความคล้ายคลึงได้อย่างง่ายดายและกำหนดโครงสร้างสำหรับการจัดทำดัชนีและการค้นหาได้
// Creating an index folder and add document's folder to it
Index index = new Index("indexing-folder-path");
index.Add("path/parent-folder");
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.7);
string query = "nulla"; // search approximate matches of the provided query
SearchResult result = index.Search(query, options);
ในโค้ดสั้นนี้:
ดัชนีใหม่ถูกสร้างขึ้นเพื่อชี้ไปยังไดเรกทอรีที่ใช้สำหรับการจัดทำดัชนี
โฟลเดอร์หลักที่มีเอกสารทั้งหมดถูกเพิ่มลงในดัชนีนี้
การค้นหาแบบฟัซซีเปิดใช้งานผ่านคลาส SearchOptions.
ระดับความคล้ายคลึงถูกตั้งไว้ที่ 0.7 ซึ่งตรงกับการจับคู่ 70% หรือความทนทานต่อข้อผิดพลาด 30%
คำค้นหา "nulla" ถูกส่งไป และระบบจะเรียกผลลัพธ์ที่ตรงตามเกณฑ์ความคล้ายคลึงออกมา
คุณสามารถปรับระดับความคล้ายคลึงขึ้นอยู่กับว่าคุณต้องการให้อัตราผลลัพธ์การค้นหาของคุณเข้มงวดหรือผ่อนคลายเพียงใด ช่วงค่าต่ำกว่าจะอนุญาตให้มีความยืดหยุ่นมากขึ้น ในขณะที่ช่วงค่าสูงจะรับประกันการจับคู่ที่เข้มงวดมากขึ้น
ข้อดีของระดับความคล้ายคลึงที่ปรับแต่งได้
หนึ่งในคุณสมบัติเด่นของ Conholdate.Total สำหรับ .NET SDK คือความสามารถในการควบคุมเกณฑ์ความคล้ายคลึงสำหรับการค้นหาที่ไม่แน่นอน ระดับของการปรับแต่งนี้ช่วยให้การควบคุมกระบวนการจับคู่มีความแม่นยำ ทำให้มั่นใจได้ว่าผลลัพธ์มีความเกี่ยวข้องและเชื่อถือได้
ความคล้ายคลึงสูง (เช่น 0.9): ใช้เมื่อความแม่นยำสำคัญ และคุณต้องการผลลัพธ์ที่ใกล้เคียงกับคำค้นต้นฉบับมาก.
ความคล้ายคลึงต่ำ (เช่น 0.6): เหมาะสำหรับการค้นหาเชิงสำรวจหรือเมื่อผู้ใช้ใส่ข้อมูลที่มีข้อผิดพลาดบ่อยครั้ง
การเปลี่ยนแปลงค่านี้ได้อย่างมีโปรแกรมช่วยให้นักพัฒนามีความยืดหยุ่นในการปรับตัวให้เข้ากับกรณีการใช้งานธุรกิจที่แตกต่างกันโดยไม่ต้องทำการสร้างดัชนีใหม่หรือกำหนดค่าทั้งระบบใหม่ทั้งหมด
ใบอนุญาตประเมินฟรี
คุณสามารถขอรับ free temporary license เพื่อหลีกเลี่ยงข้อจำกัดในการทดลองใช้ SDK และสามารถทดสอบมันได้อย่างเต็มที่
ข้อสรุป
การค้นหาที่ไม่ชัดเจนเป็นฟีเจอร์ที่สำคัญสำหรับแอปพลิเคชันที่ต้องเสนอความสามารถในการค้นหาที่ชาญฉลาด อดทน และเป็นมิตรกับผู้ใช้ โดยการใช้ Conholdate.Total สำหรับ .NET SDK นักพัฒนาสามารถรวมฟังก์ชันการค้นหาที่ไม่ชัดเจนที่มีพลังลงในแอปพลิเคชัน C# ของพวกเขาได้อย่างง่ายดาย ไม่ว่าคุณจะกำลังค้นหาข้อมูลในเอกสารทางกฎหมายหลายพันฉบับหรือสแกนเนื้อหาที่ผู้ใช้สร้างขึ้น SDK นี้ให้เครื่องมือในการจัดการกับมันด้วยความแม่นยำและความยืดหยุ่น ปรับระดับความคล้ายคลึง ค้นหาในโฟลเดอร์ และดึงผลลัพธ์ที่เกี่ยวข้องที่สุด แม้ว่าอิน