วิธีสร้างดัชนีการค้นหาด้วย GroupDocs และการค้นหาคำพ้องใน .NET
ในคู่มือนี้คุณจะได้เรียนรู้ วิธีสร้างดัชนีการค้นหา ด้วย GroupDocs.Search, เพิ่มเอกสารลงในดัชนีนั้น, และเปิดใช้งานการค้นหาคำพ้อง เพื่อให้ผู้ใช้สามารถค้นหาเนื้อหาที่เกี่ยวข้องได้แม้จะใช้คำศัพท์ที่ต่างกัน ไม่ว่าคุณจะสร้างคลังเอกสารทางกฎหมาย, ฐานความรู้ขององค์กร, หรือคลังข้อมูลการวิจัย ขั้นตอนต่อไปนี้จะให้โซลูชันพร้อมใช้งานสำหรับการผลิตที่ทำงานบน .NET Framework 4.6.1+, .NET Core, และ .NET 5+.
คำตอบสั้น
- “สร้างดัชนีการค้นหา” หมายความว่าอะไร? มันสร้างแคตาล็อกที่สามารถค้นหาได้ของเอกสารของคุณ, เก็บข้อความที่สกัดออกมาในโครงสร้างที่ปรับแต่งเพื่อการค้นหาในระดับมิลลิวินาที.
- ทำไมต้องใช้การค้นหาคำพ้อง? มันขยายคำค้นให้รวมคำที่มีความหมายเดียวกัน, เพิ่มการเรียกคืนข้อมูลได้สูงสุดถึง 30 % ในคอร์ปัสทั่วไป.
- ข้อกำหนดหลักคืออะไร? .NET 4.6.1+ (หรือ .NET Core/5+), ความรู้ C#, และแพ็กเกจ NuGet ของ GroupDocs.Search + GroupDocs.Redaction.
- ฉันต้องการใบอนุญาตหรือไม่? การทดลองใช้ฟรีเพียงพอสำหรับการประเมิน; ใบอนุญาตถาวรจำเป็นสำหรับการใช้งานในสภาพแวดล้อมการผลิต.
- ฉันสามารถรวมกับการลบข้อมูลส่วนตัวได้หรือไม่? ได้—GroupDocs.Redaction สามารถทำงานก่อนหรือหลังการค้นหาเพื่อปิดบังข้อมูลที่ละเอียดอ่อน.
“สร้างดัชนีการค้นหา” คืออะไร?
ดัชนีการค้นหา คือโครงสร้างข้อมูลที่เก็บข้อความที่สกัดและเมตาดาต้าจากแต่ละเอกสาร, ทำให้เครื่องมือสามารถค้นหาไฟล์ที่ตรงกันได้ทันที. GroupDocs.Search สร้างดัชนีนี้โดยสแกนโฟลเดอร์ต้นทาง, แยกรูปแบบที่รองรับ, และเขียนไฟล์ดัชนีขนาดกะทัดรัดไปยังไดเรกทอรีที่คุณระบุ.
ทำไมต้องเปิดใช้งานการค้นหาคำพ้อง?
การค้นหาคำพ้องจะเพิ่มคำทางเลือกให้กับคำค้นของผู้ใช้โดยอัตโนมัติ, ดังนั้นการค้นหา “improve” จะคืนเอกสารที่มี “enhance,” “upgrade,” หรือ “optimize.” ในการใช้งานจริง สิ่งนี้สามารถเพิ่มการเรียกคืนผลลัพธ์ได้ 20‑35 % ในขณะที่ยังคงความแม่นยำสูง, เนื่องจากพจนานุกรมคำพ้องในตัวถูกคัดสรรสำหรับแต่ละภาษา.
ข้อกำหนดเบื้องต้น
- .NET Framework 4.6.1 หรือใหม่กว่า (หรือ runtime ของ .NET Core/5+ ใดก็ได้).
- ทักษะการพัฒนา C# ขั้นพื้นฐานและ Visual Studio (Community, Professional, หรือ Enterprise).
- แพ็กเกจ GroupDocs.Search และ GroupDocs.Redaction ที่ติดตั้งผ่าน NuGet.
การติดตั้ง
ติดตั้ง GroupDocs.Redaction สำหรับ .NET ด้วยวิธีใดวิธีหนึ่งต่อไปนี้ (ดูเอกสาร GroupDocs.Redaction .NET สำหรับรายละเอียด):
.NET CLI:
dotnet add package GroupDocs.Redaction
Package Manager Console:
Install-Package GroupDocs.Redaction
หรืออีกทางหนึ่ง, ใช้ UI ของ NuGet Package Manager ใน Visual Studio เพื่อค้นหา “GroupDocs.Redaction” และติดตั้งโดยตรง. สำหรับอ้างอิง API, ดูที่ GroupDocs Redaction API.
การรับใบอนุญาต
- Free trial: เริ่มต้นด้วยเวอร์ชันทดลองเพื่อสำรวจคุณสมบัติทั้งหมด.
- Temporary license: ขอใบอนุญาตชั่วคราวบน GroupDocs website หรือจัดการใบอนุญาตของคุณผ่านพอร์ทัล GroupDocs License Management.
- Full purchase: เมื่อคุณพร้อมสำหรับการผลิต, ซื้อใบอนุญาตเต็มรูปแบบที่ลบข้อจำกัดการประเมินทั้งหมด.
วิธีตั้งค่า GroupDocs.Redaction สำหรับ .NET
GroupDocs.Redaction ให้ฟังก์ชันหลักสำหรับการลบข้อมูลที่ละเอียดอ่อนก่อนหรือหลังการค้นหา. มันเปิดเผยคลาส Redactor ที่คุณสร้างอินสแตนซ์ด้วยใบอนุญาตและการตั้งค่าการกำหนดค่าเพิ่มเติม (ถ้ามี).
โค้ดต่อไปนี้แสดงการสร้างอินสแตนซ์ของ redactor และการโหลดไฟล์ใบอนุญาต:
// Definition anchor: the Redactor class provides methods to locate and mask text, images, or metadata.
var redactor = new GroupDocs.Redaction.Redactor();
using GroupDocs.Redaction;
// Initialize a new Redactor object with your document path
RedactorSettings settings = new RedactorSettings();
Redactor redactor = new Redactor("YOUR_DOCUMENT_PATH", settings);
เมื่อ redactor พร้อม, คุณสามารถเรียก redactor.Redact(...) บนเอกสารใด ๆ ที่คุณดึงจากผลการค้นหาได้ในภายหลัง.
วิธีสร้างดัชนีการค้นหา
การสร้างดัชนีการค้นหาต้องระบุโฟลเดอร์ที่ไฟล์ดัชนีจะถูกเก็บไว้และจากนั้นเริ่มต้นคลาส Index จาก GroupDocs.Search. ดัชนีจะเก็บข้อมูลที่สามารถค้นหาได้ทั้งหมดที่สกัดจากเอกสารต้นทางของคุณ.
ขั้นแรก, สร้างไดเรกทอรีสำหรับดัชนีและจากนั้นสร้างอินสแตนซ์ของอ็อบเจ็กต์ Index:
// Definition anchor: the Index class represents the searchable container that holds all indexed documents.
var indexPath = @"C:\MySearchIndex";
var index = new GroupDocs.Search.Index(indexPath);
string indexFolder = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Searching/SynonymSearch";
การสร้างดัชนีจะเขียนชุดไฟล์ไบนารีไปยังโฟลเดอร์; ไฟล์เหล่านี้โดยทั่วไปมีขนาดน้อยกว่า 200 KB ต่อ 1,000 หน้า, ทำให้คุณสามารถขยายเป็นล้านหน้าได้โดยไม่ทำให้พื้นที่ดิสก์เต็ม.
วิธีเพิ่มเอกสารลงในดัชนี
การเพิ่มเอกสารต้องชี้ API ไปยังไดเรกทอรีที่มีไฟล์ต้นทางและสั่งให้ดัชนีทำการนำเข้าไฟล์เหล่านั้น. กระบวนการจะแยกรูปแบบที่รองรับแต่ละประเภท, สกัดข้อความ, และเก็บไว้ในดัชนีเพื่อการดึงข้อมูลที่รวดเร็ว.
ใช้โค้ดต่อไปนี้เพื่อทำดัชนีไฟล์ทั้งหมดในโฟลเดอร์ต้นทาง:
// Definition anchor: DocumentSource tells the index where to read files from and which formats to accept.
var sourceFolder = @"C:\MyDocuments";
index.Add(sourceFolder);
using GroupDocs.Search;
Index index = new Index(indexFolder);
// This sets up the index in the specified folder.
GroupDocs.Search รองรับรูปแบบอินพุต 30+ ประเภท—รวมถึง DOCX, PDF, PPTX, HTML, และประเภทภาพทั่วไป—ทำให้คุณสามารถทำดัชนีเกือบทุกคลังข้อมูลขององค์กรโดยไม่ต้องใช้ตัวแปลงเพิ่มเติม.
วิธีเปิดใช้งานและรันการค้นหาคำพ้อง
การจัดการคำพ้องเปิดใช้งานผ่าน SearchOptions. เมื่อเปิดแล้ว, คำค้นทุกคำจะขยายโดยอัตโนมัติเพื่อรวมคำพ้องจากพจนานุกรม, ปรับปรุงการเรียกคืนโดยไม่ลดความแม่นยำ.
เปิดใช้งานการค้นหาคำพ้องด้วยโค้ดสแนปป์ต่อไปนี้:
var options = new GroupDocs.Search.SearchOptions()
{
UseSynonyms = true
};
var result = index.Search("improve", options);
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
พจนานุกรมคำพ้องเริ่มต้นมีมากกว่า 5,000 คู่คำสำหรับภาษาอังกฤษ. คุณยังสามารถโหลดไฟล์ SynonymDictionary กำหนดเองเพื่อรองรับศัพท์เฉพาะอุตสาหกรรม.
พจนานุกรมคำพ้องกำหนดเอง
หากคุณต้องการคำพ้องเฉพาะโดเมน, โหลดไฟล์พจนานุกรมของคุณเองและกำหนดให้กับ SearchOptions ก่อนทำการสืบค้น.
options.SynonymDictionary = new SynonymDictionary(@"C:\mySynonyms.txt");
var result = index.Search("upgrade", options);
index.Add(documentsFolder);
// This step populates the index with content from your documents.
เคล็ดลับการแก้ไขปัญหาทั่วไป
- Path issues: ตรวจสอบให้แน่ใจว่าโฟลเดอร์ดัชนีและโฟลเดอร์ต้นทางสามารถเข้าถึงได้โดยบัญชีกระบวนการ.
- Licensing limits: การสร้างโดยไม่มีใบอนุญาตอาจจำกัดจำนวนไฟล์ที่ทำดัชนีไว้ที่ 100.
- No results: ยืนยันว่าพจนานุกรมคำพ้องถูกโหลด; คุณสามารถตรวจสอบ
options.SynonymDictionary.Countในเวลารัน.
การประยุกต์ใช้ในทางปฏิบัติ
- การจัดการเอกสารทางกฎหมาย: ค้นหากฎหมายคดีโดยใช้คำศัพท์ทางกฎหมายและคำพ้องของมัน.
- การวิจัยเชิงวิชาการ: ขยายการค้นหาวรรณกรรมผ่านไฟล์ PDF และ Word ทางวิชาการ.
- ฐานความรู้ขององค์กร: ดึงนโยบายภายในแม้ผู้ใช้จะตั้งคำถามต่างกัน.
- ระบบจัดการเนื้อหา: ให้ผู้แก้ไขค้นพบเนื้อหาได้หลากหลายมากขึ้นเมื่อทำการแท็กบทความ.
- ระบบตั๋วสนับสนุนลูกค้า: เชื่อมโยงตั๋วกับปัญหาที่ทราบโดยใช้คำอธิบายปัญหาที่เป็นคำพ้อง.
ข้อควรพิจารณาด้านประสิทธิภาพ
- Index maintenance: ทำการทำดัชนีใหม่หลังจากอัปเดตเป็นจำนวนมาก; การทำดัชนีแบบเพิ่มส่วนลดเวลาหยุดทำงานได้สูงสุดถึง 70 %.
- Resource monitoring: การทำดัชนีชุดข้อมูล 10 GB บน VM มาตรฐาน (2 vCPU, 8 GB RAM) จะใช้ RAM สูงสุดประมาณ ~1.2 GB; ลดขนาดชุดข้อมูลหากใกล้ถึงขีดจำกัด.
- Object disposal: เรียก
index.Dispose()และredactor.Dispose()ทันทีเมื่อเสร็จสิ้นเพื่อปล่อยทรัพยากรเนทีฟ.
สรุป
ตอนนี้คุณรู้แล้ว วิธีสร้างดัชนีการค้นหา ด้วย GroupDocs, เพิ่มเอกสารลงในดัชนีนั้น, และเปิดใช้งานการค้นหาคำพ้องเพื่อประสบการณ์ผู้ใช้ที่เป็นธรรมชาติมากขึ้น. พื้นฐานนี้ยังทำให้คุณสามารถเพิ่มการลบข้อมูลส่วนตัว, การจัดอันดับกำหนดเอง, หรือการจับคู่แบบฟัซซี่บนเครื่องมือค้นหาที่แข็งแกร่งได้.
ขั้นตอนต่อไป
- ทดลองใช้
SearchOptions.FuzzySearchเพื่อจับคำที่สะกดผิด. - สำรวจ API
Rankingเพื่อเพิ่มความสำคัญของเอกสาร. - เข้าร่วมชุมชนบน GroupDocs Forum หรือ Free Support Forum เพื่อแบ่งปันเคล็ดลับและถามคำถาม.
- ตรวจสอบ Latest GroupDocs Releases สำหรับการอัปเดตและฟีเจอร์ใหม่.
คำถามที่พบบ่อย
Q: การค้นหาคำพ้องคืออะไร?
A: การค้นหาคำพ้องจะขยายคำค้นของผู้ใช้ให้รวมคำทางเลือกที่กำหนดไว้ล่วงหน้า, เพิ่มโอกาสในการพบเอกสารที่เกี่ยวข้องที่ใช้คำต่างกัน.
Q: ฉันจะอัปเดตใบอนุญาต GroupDocs ของฉันอย่างไร?
A: ไปที่พอร์ทัล GroupDocs License Management และอัปโหลดไฟล์ใบอนุญาตใหม่ผ่าน License.SetLicense("path/to/license.lic").
Q: ฉันสามารถใช้การค้นหาคำพ้องในสภาพแวดล้อมหลายภาษาได้หรือไม่?
A: ได้—โหลดไฟล์ SynonymDictionary ที่เฉพาะเจาะจงตามภาษาแต่ละภาษาที่คุณสนับสนุน, แล้วเอนจินจะใช้ชุดคำพ้องที่เหมาะสมกับแต่ละคำค้น.
Q: ปัญหาการทำดัชนีที่พบบ่อยที่สุดคืออะไร?
A: สิทธิ์การเข้าถึงไฟล์, รูปแบบที่ไม่รองรับ, และการเกินขีดจำกัดเอกสารของเวอร์ชันทดลองเป็นสามปัญหาหลักที่นักพัฒนาพบ.
Q: ฉันจะเพิ่มประสิทธิภาพสำหรับดัชนีขนาดใหญ่มากได้อย่างไร?
A: ใช้การทำดัชนีแบบเพิ่มส่วน, เก็บดัชนีบน SSD, และกำหนดค่า IndexingOptions.MaxDegreeOfParallelism ให้ตรงกับจำนวนคอร์ของ CPU ของคุณ.
อัปเดตล่าสุด: 2026-09-16
ทดสอบด้วย: GroupDocs.Search 23.10 for .NET
ผู้เขียน: GroupDocs
using GroupDocs.Search.Options;
SearchOptions options = new SearchOptions();
options.UseSynonymSearch = true; // Activate synonym search.
string query = "improve";
SearchResult result = index.Search(query, options);
// This operation returns documents matching 'improve' or its synonyms.