วิธีสร้างดัชนีการค้นหาด้วย 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 ในเวลารัน.

การประยุกต์ใช้ในทางปฏิบัติ

  1. การจัดการเอกสารทางกฎหมาย: ค้นหากฎหมายคดีโดยใช้คำศัพท์ทางกฎหมายและคำพ้องของมัน.
  2. การวิจัยเชิงวิชาการ: ขยายการค้นหาวรรณกรรมผ่านไฟล์ PDF และ Word ทางวิชาการ.
  3. ฐานความรู้ขององค์กร: ดึงนโยบายภายในแม้ผู้ใช้จะตั้งคำถามต่างกัน.
  4. ระบบจัดการเนื้อหา: ให้ผู้แก้ไขค้นพบเนื้อหาได้หลากหลายมากขึ้นเมื่อทำการแท็กบทความ.
  5. ระบบตั๋วสนับสนุนลูกค้า: เชื่อมโยงตั๋วกับปัญหาที่ทราบโดยใช้คำอธิบายปัญหาที่เป็นคำพ้อง.

ข้อควรพิจารณาด้านประสิทธิภาพ

  • 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.