GroupDocs.Search for .NET 26.10 พร้อมให้ใช้งานแล้ว. นี่คือ การปล่อยเวอร์ชันหลัก: รูปแบบดัชนีได้รับการออกแบบใหม่ ทำให้ดัชนีใช้ พื้นที่บนดิสก์น้อยลง, ต้องการ RAM ครึ่งหนึ่ง และเปิด เร็วขึ้น 2 ถึง 4 เท่า. การค้นหา, การลบ, การปรับประสิทธิภาพและการค้นหาภาพเร็วขึ้น หลายเท่าไปจนถึงหลายร้อยเท่า, การค้นหาไม่ต้องรอการทำดัชนีอีกต่อไป, และข้อมูลดัชนีได้รับการปกป้องด้วย checksum และการอัปเดตแบบ atomic.
ดัชนีที่มีอยู่ที่สร้างโดยเวอร์ชัน 22.7–26.8 จะถูกแปลงเป็นรูปแบบใหม่ โดยไม่ต้องทำดัชนีใหม่. การปล่อยนี้มี การเปลี่ยนแปลง 22 รายการ: 4 ฟีเจอร์ใหม่, 15 การปรับปรุงและ 3 การแก้ไข.
ไฮไลท์ด้านประสิทธิภาพ
ส่วนใหญ่ของการเพิ่มประสิทธิภาพจะเพิ่มขึ้นตามขนาดของดัชนีและจำนวนเซกเมนต์ของมัน.
| สิ่งที่วัด | การเพิ่มประสิทธิภาพใน 26.10 |
|---|---|
| RAM ที่ต้องใช้โดยดัชนีที่โหลดแล้ว | น้อยลง 2 เท่า |
| การเปิดดัชนี | เร็วขึ้น 2 ถึง 4 เท่า |
| ขนาดดัชนีบนดิสก์ | เพิ่มตามสัดส่วนของข้อมูลที่ทำดัชนี; ดัชนีที่ใหญ่ขึ้นจะประหยัดพื้นที่มากขึ้น |
| การค้นหาคำในดัชนีขนาดใหญ่ | เร็วขึ้นสูงสุด 2 เท่า; คำหายาก เร็วขึ้น 10 ถึง 40 เท่า |
| การค้นหาแบบ fuzzy ในดัชนีขนาดใหญ่ | เร็วขึ้น 2.5 ถึง 5 เท่า |
| การค้นหาแบบ wildcard ในดัชนีขนาดใหญ่ | เร็วขึ้น 2.5 ถึง 3 เท่า |
| การค้นหา wildcard, regular expression, numeric range และ fuzzy แบบแบ่งชั้น | เร็วขึ้น 7 ถึง 150 เท่า |
| การค้นหาแบบช่วงวันที่ | เร็วขึ้น 2 ถึง 27 เท่า |
| การลบเอกสาร | เร็วขึ้นหลายร้อยเท่า, ใช้ RAM น้อยลง 4 เท่า, ไม่ต้องใช้พื้นที่ดิสก์เพิ่มเติม |
| การปรับประสิทธิภาพดัชนี | เร็วขึ้น 4 เท่า, ใช้ RAM น้อยลง 4 เท่า |
| RAM สูงสุดระหว่างทำดัชนี | น้อยลง 2 เท่า |
| การดึงข้อความที่เก็บไว้ของเอกสาร | เร็วขึ้นสูงสุด 15 เท่า |
| ข้อมูลการค้นหาภาพ | ใช้หน่วยความจำน้อยลง 2.9 เท่า, โหลดเร็วขึ้น 6.6 เท่า, บันทึกเร็วขึ้น 100 เท่า; การค้นหาภาพย้อนกลับเร็วขึ้นสูงสุด 1.8 เท่า |
| การค้นหาในขณะที่ดัชนีกำลังถูกแก้ไข | ไม่บล็อกอีกต่อไป |
| ความน่าเชื่อถือของดัชนี | Checksum และการเปลี่ยนแปลงแบบ atomic; การทำงานที่ถูกขัดจังหวะจะเสร็จสมบูรณ์หรือย้อนกลับ |
| เธรดการค้นหา | ใช้ทุกคอร์ของโปรเซสเซอร์โดยค่าเริ่มต้น; สามารถเปลี่ยนแปลงได้ตลอดเวลา |
สิ่งใหม่ในเวอร์ชันนี้
| คีย์ | สรุป | ประเภท |
|---|---|---|
| SEARCHNET-3665 | Implement the ability to change the number of search threads at any time | ฟีเจอร์ |
| SEARCHNET-3666 | Implement an option to replace unpaired surrogate characters | ฟีเจอร์ |
| SEARCHNET-3667 | Implement an option to skip terms consisting only of blended characters | ฟีเจอร์ |
| SEARCHNET-3668 | Implement index version update to the new index format without reindexing the documents | ฟีเจอร์ |
| SEARCHNET-3669 | Implement optimization of disk space consumption of an index | การปรับปรุง |
| SEARCHNET-3670 | Implement optimization of RAM consumption of a loaded index | การปรับปรุง |
| SEARCHNET-3671 | Implement optimization of index loading speed | การปรับปรุง |
| SEARCHNET-3672 | Implement optimization of search speed in large indexes | การปรับปรุง |
| SEARCHNET-3673 | Implement optimization of fuzzy search | การปรับปรุง |
| SEARCHNET-3674 | Implement optimization of wildcard search | การปรับปรุง |
| SEARCHNET-3675 | Implement optimization of deleting and updating documents | การปรับปรุง |
| SEARCHNET-3676 | Implement optimization of the index optimization operation | การปรับปรุง |
| SEARCHNET-3677 | Allow searching while the index is being modified | การปรับปรุง |
| SEARCHNET-3678 | Improve index reliability | การปรับปรุง |
| SEARCHNET-3679 | Implement optimization of memory usage during indexing | การปรับปรุง |
| SEARCHNET-3680 | Implement optimization of retrieving document text | การปรับปรุง |
| SEARCHNET-3681 | Implement optimization of image search | การปรับปรุง |
| SEARCHNET-3682 | Implement handling letter case identically on all platforms | การปรับปรุง |
| SEARCHNET-3688 | Implement optimization of search by chunks | การปรับปรุง |
| SEARCHNET-3683 | Fix the default number of search threads | แก้ไข |
| SEARCHNET-3684 | Prevent inconsistent indexing after changing term dictionaries | แก้ไข |
| SEARCHNET-3685 | Prevent merging indexes that process text differently | แก้ไข |
คุณลักษณะหลัก
การจัดเก็บดัชนีและความน่าเชื่อถือ
- ขนาดดัชนีตอนนี้เพิ่มตามสัดส่วนของข้อมูลที่ทำดัชนี, ดังนั้นดัชนีขนาดใหญ่ที่มีหลายเซกเมนต์จะประหยัดพื้นที่มากที่สุด.
- ดัชนีที่โหลดแล้วต้องการ RAM ครึ่งหนึ่ง, และการเปิดดัชนีเร็วขึ้น 2 ถึง 4 เท่า.
- ข้อมูลดัชนีได้รับการปกป้องด้วย checksum, และการเปลี่ยนแปลงทั้งหมดจะทำแบบ atomic. หากการทำงานถูกขัดจังหวะโดยข้อผิดพลาด, การดับไฟหรือการยุติกระบวนการ, ดัชนีจะคงอยู่ในสถานะที่สอดคล้องก่อนหน้า.
การค้นหา
- จะอ่านเฉพาะเซกเมนต์ที่มีคำค้นหา, ทำให้การค้นหาคำ, fuzzy, wildcard และการค้นหาแบบแบ่งชั้นเร็วขึ้น.
- การค้นหาใช้ทุกคอร์ของโปรเซสเซอร์โดยค่าเริ่มต้น, และจำนวนเธรดสามารถเปลี่ยนได้ตลอดเวลาผ่าน
IndexSettings.SearchThreads. - การค้นหาและการทำงานที่แก้ไขดัชนี (ทำดัชนี, อัปเดต, ลบ, ผสาน, ปรับประสิทธิภาพ) ไม่บล็อกกันอีกต่อไป. การค้นหาแต่ละครั้งทำงานกับสแนปชอตของดัชนีที่สอดคล้องกัน.
การทำดัชนีและการบำรุงรักษา
- การลบเอกสารไม่ต้องเขียนดัชนีใหม่อีก: เอกสารถูกยกเว้นจากการค้นหาโดยทันทีและจะถูกลบออกทางกายภาพระหว่างการปรับประสิทธิภาพ.
- การปรับประสิทธิภาพดัชนีเร็วขึ้น 4 เท่าและใช้ RAM น้อยลง 4 เท่า; ดัชนีขนาดใหญ่มากจะถูกปรับเป็นหลายเซกเมนต์ที่มีขนาดจำกัด.
- การทำดัชนีใช้ RAM สูงสุดประมาณครึ่งหนึ่งของเดิม.
การประมวลผลข้อความ
- การจัดการตัวอักษรพิมพ์ใหญ่/เล็กทำแบบเดียวกันบน .NET Framework และ .NET, ดังนั้นผลลัพธ์การค้นหาไม่ขึ้นกับแพลตฟอร์ม.
- ตัวอักษร surrogate ที่ไม่มีคู่จะถูกแทนด้วย U+FFFD แทนการลบ, และคำที่ประกอบด้วยอักขระผสมอย่างเดียวจะไม่ถูกทำดัชนีอีกต่อไป.
การเปลี่ยนแปลง API สาธารณะ
ได้เพิ่มคุณสมบัติสองอย่างในคลาส GroupDocs.Search.IndexSettings:
Boolean ReplaceUnpairedSurrogates– แทนที่อักขระ surrogate UTF-16 ที่ไม่มีคู่ด้วยอักขระแทน Unicode (U+FFFD). เปิดใช้งานโดยค่าเริ่มต้น.Boolean SkipBlendedOnlyTerms– ไม่ทำดัชนีคำที่ประกอบด้วยอักขระผสมอย่างเดียว. เปิดใช้งานโดยค่าเริ่มต้น.
ทั้งสองการตั้งค่าจะถูกกำหนดคงที่เมื่อสร้างดัชนี.
ตัวอย่างโค้ด
ตัวอย่างต่อไปนี้อัปเดตดัชนีที่สร้างจากเวอร์ชันก่อนหน้าให้เป็นรูปแบบดัชนีใหม่โดยไม่ต้องทำดัชนีใหม่.
string sourceIndexFolder = @"c:\MyOldIndex\"; // Specify path to the index of a previous version
string targetIndexFolder = @"c:\MyNewIndex\"; // Specify path to the folder for the updated index
IndexUpdater updater = new IndexUpdater(); // Creating an index updater
if (updater.CanUpdateVersion(sourceIndexFolder)) // Checking whether the index version can be updated
{
VersionUpdateResult result = updater.UpdateVersion(sourceIndexFolder, targetIndexFolder); // Updating the index version; the source index is not changed
}
หมายเหตุการอัปเกรด
ให้คำนึงถึงการเปลี่ยนแปลงต่อไปนี้เมื่ออัปเกรดจากเวอร์ชันก่อนหน้า:
- รูปแบบดัชนีได้เปลี่ยน. ดัชนีของเวอร์ชันก่อนต้องถูกแปลงด้วยคลาส
IndexUpdaterก่อนจึงจะเปิดได้. ไม่ต้องใช้เอกสารต้นฉบับ, ดัชนีที่แปลงจะถูกบันทึกในโฟลเดอร์อื่น, และดัชนีต้นฉบับจะไม่ถูกแก้ไข. - พจนานุกรมคำจะถูกกำหนดคงที่เมื่อดัชนีมีเอกสาร. ตัวอักษร, พจนานุกรมการตัดคำ, การแทนที่อักขระ, คำหยุด, และการตั้งค่า
UseStopWordsกับUseCharacterReplacementsต้องกำหนดก่อนเอกสารแรกถูกทำดัชนี. การเปลี่ยนแปลงภายหลังจะทำให้เกิดInvalidOperationException. - ดัชนีที่ไม่เข้ากันจะไม่ถูกรวม.
Index.MergeจะโยนInvalidOperationExceptionหากดัชนีที่ถูกรวมแยกข้อความเป็นคำต่างกัน. - การค้นหาเป็นแบบหลายเธรดโดยค่าเริ่มต้น. ด้วย
IndexSettings.SearchThreadsเริ่มต้น, การค้นหาใช้จำนวนเธรดเท่ากับจำนวนคอร์ของโปรเซสเซอร์. หากต้องการจำกัดจำนวนเธรด, ตั้งค่าคุณสมบัตินี้โดยตรง. - การตั้งค่าดัชนีใหม่สองอย่างเปิดใช้งานโดยค่าเริ่มต้น. หากต้องการรักษาพฤติกรรมเดิม, ตั้งค่า
ReplaceUnpairedSurrogatesและSkipBlendedOnlyTermsเป็นfalseก่อนสร้างดัชนี. - เอกสารที่ลบจะถูกลบออกทางกายภาพระหว่างการปรับประสิทธิภาพ. เรียก
Index.Optimizeเพื่อคืนพื้นที่. - จำนวนชั้นได้เปลี่ยน. การค้นหาแบบแบ่งชั้นจะไม่คืนชั้นสำหรับทุกเซกเมนต์. ให้วนลูปผ่านชั้นโดยตรวจสอบว่า
SearchResult.NextChunkSearchTokenไม่เป็น null แทนการพึ่งพาจำนวนเซกเมนต์.
วิธีรับอัปเดต
NuGet
- NuGet – ติดตั้งแพคเกจล่าสุด:
# Package Manager
NuGet\Install-Package GroupDocs.Search -Version 26.10.0
# .NET CLI
dotnet add package GroupDocs.Search --version 26.10.0
# Package Manager
NuGet\Install-Package GroupDocs.Search.NETFramework -Version 26.10.0
# .NET CLI
dotnet add package GroupDocs.Search.NETFramework --version 26.10.0
ดาวน์โหลดโดยตรง
- ดาวน์โหลดโดยตรง – ดาวน์โหลดไฟล์ assembly ที่คอมไพล์สำหรับ .NET จากหน้าปล่อยอย่างเป็นทางการ:
https://releases.groupdocs.com/search/net/new-releases/groupdocs.search-for-.net-26.10-dlls-only/
https://releases.groupdocs.com/search/net/new-releases/groupdocs.search-for-.net-26.10/
แหล่งข้อมูล
- บันทึกการปล่อยเวอร์ชันเต็ม – https://releases.groupdocs.com/search/net/release-notes/2026/groupdocs-search-for-net-26-10-release-notes/
- เอกสาร – https://docs.groupdocs.com/search/net/
- ตัวอย่างโค้ด – https://github.com/groupdocs-search/GroupDocs.Search-for-.NET/
- Free Support Forum – https://forum.groupdocs.com/c/search/
- ใช้กับ AI agents – เซิร์ฟเวอร์ GroupDocs.Search MCP ทำงานบนเครื่องท้องถิ่นสำหรับ Claude, Cursor และ Copilot: https://docs.groupdocs.com/search/mcp/ · Do you need a vector database to ask questions about a folder of documents?