با استفاده از GroupDocs هموفون ها را در فایل ها جستجو کنید

مترادف ها کلماتی با معنی مشابه هستند و هموفون ها یکسان به نظر می رسند اما از نظر معانی یا املا متفاوت هستند. ما یاد گرفتیم که مترادف ها را در چندین سند با استفاده از Java پیدا کنیم. امروز، در این مقاله، نحوه جستجوی همفون ها در چندین سند با استفاده از Java را خواهیم دید.

موضوعات زیر در زیر پوشش داده خواهد شد:

Java API برای جستجوی هموفون

GroupDocs.Search Java API GroupDocs.Search for Java را به نمایش می گذارد که به شما امکان می دهد هر کلمه و همفون های آن را در چندین فایل از هر پوشه خاص پیدا کنید. می تواند محتوای [فرمت های مختلف مختلف] را جستجو کند. علاوه بر یافتن همفون ها، API از بسیاری از تکنیک های جستجوی دیگر پشتیبانی می کند که عبارتند از:

  • جستجوی حساس به حروف کوچک و بزرگ
  • جستجوی فازی
  • جستجوی عبارت
  • جستجوی عبارات منظم
  • جستجوی مترادف
  • جستجوی کارت وحشی

می‌توانید فایل JAR را از بخش دانلودها دانلود کنید یا از آخرین پیکربندی‌های مخزن و وابستگی Maven در برنامه‌های Java خود استفاده کنید.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>21.8</version> 
</dependency>
PM> Install-Package GroupDocs.Search

هموفون ها را در چندین فایل در Java پیدا کنید

مراحل زیر نحوه جستجوی homophones در چندین فایل یک پوشه در Java را راهنمایی می کند.

  • عبارت جستجوی کلمه جستجو، پوشه نمایه سازی و پوشه کانتینر فایل های خود را تعریف کنید.
  • Index را با پوشه فهرست تعریف شده ایجاد کنید.
  • پوشه سند را به فهرست اضافه کنید.
  • SearchOptions را تعریف کنید و homophoneSearch را با استفاده از روش setUseHomophoneSearch فعال کنید.
  • جستجوی همفون را با استفاده از روش جستجو انجام دهید.
  • در صورت نیاز از ویژگی های SearchResult بازیابی شده استفاده کنید.

کد منبع Java زیر همه همفون ها را در فایل های پوشه تعریف شده پیدا می کند. علاوه بر این، شما همچنین می توانید فرهنگ لغت همفون خود را مدیریت کنید.

// همفون ها را در چندین فایل و پوشه با استفاده از Java جستجو کنید
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";

// ایجاد نمایه در پوشه مشخص شده
Index index = new Index(indexFolder);
index.add(documentsFolder);

// ایجاد یک شی گزینه های جستجو
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search

// جستجوی کلمه "درست"
// علاوه بر کلمه "راست"، هموفون های "Rite, Wright, Wright, ..." نیز جستجو خواهند شد.
SearchResult result = index.search(query, options);

System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());

خروجی کد بالا به صورت زیر است:

Query: right
Documents: 2
Occurrences: 17

می‌توانید با دنبال کردن مراحل پس از دریافت هم‌آهنگ‌ها و وقوع آنها از هر سند، از نتایج جستجوی هم‌آهنگ‌ها استفاده کنید.

  • نتایج جستجو را طی کنید.
  • هر FoundDocument را با استفاده از روش getFoundDocument دریافت کنید.
  • در صورت نیاز از ویژگی های هر FoundDocument استفاده کنید.
  • اکنون، با گرفتن FoundDocumentField، فیلدهای FoundDocument را طی کنید.
  • بعداً، از هر FoundDocumentField، تمام شرایط و رخدادهای آنها را در هر سند دریافت کنید.

مثال کد Java زیر نتایج جستجوی همفون را همراه با تعداد دفعات هر عبارت جستجو شده چاپ می کند.

// چاپ نتایج جستجوی هموفون در جاوا
System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());

// از اسناد عبور کنید
for (int i = 0; i < result.getDocumentCount(); i++) {
    FoundDocument document = result.getFoundDocument(i);
    System.out.println("Document: " + document.getDocumentInfo().getFilePath());
    System.out.println("Occurrences: " + document.getOccurrenceCount());
  
  // فیلدهای پیدا شده را طی کنید
  for (FoundDocumentField field : document.getFoundFields()) {
        System.out.println("\tField: " + field.getFieldName());
        System.out.println("\tOccurrences: " + document.getOccurrenceCount());
  
        // چاپ اصطلاحات یافت شده
        if (field.getTerms() != null) {
            for (int k = 0; k < field.getTerms().length; k++) {
                System.out.println("\t\t" + field.getTerms()[k] + "\t - \t" + field.getTermsOccurrences()[k]);
            }
        }
    }
}

خروجی نمونه کد بالا در زیر آمده است.

Query: right
Documents: 2
Total occurrences: 17

Document: C:/documents/sample.docx
Occurrences: 11
    Field: content
    Occurrences: 11
        right             3
        rite               4
        wright           1
        write             3
Document: C:/documents/sample.txt
Occurrences: 6
    Field: content
    Occurrences: 6
        right             4
        write             2

جستجوی هوموفون و نتایج چاپ با استفاده از Java - کد کامل

کد Java زیر مراحل بالا را ترکیب می کند. در ابتدا، هموفون ها را مطابق با پرس و جو پیدا می کند، و سپس همه موارد همفون را از هر سند در پوشه ارائه شده چاپ می کند.

// همفون ها را در چندین فایل و پوشه با استفاده از Java جستجو کنید
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";

// ایجاد نمایه در پوشه مشخص شده
Index index = new Index(indexFolder);
index.add(documentsFolder);

// ایجاد یک شی گزینه های جستجو
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search

// جستجوی کلمه "درست"
// علاوه بر کلمه "راست"، هموفون های "Rite, Wright, Wright, ..." نیز جستجو خواهند شد.
SearchResult result = index.search(query, options);

System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());

for (int i = 0; i < result.getDocumentCount(); i++) {
    FoundDocument document = result.getFoundDocument(i);
    System.out.println("Document: " + document.getDocumentInfo().getFilePath());
    System.out.println("Occurrences: " + document.getOccurrenceCount());

  for (FoundDocumentField field : document.getFoundFields()) {
        System.out.println("\tField: " + field.getFieldName());
        System.out.println("\tOccurrences: " + document.getOccurrenceCount());
  
        // چاپ اصطلاحات یافت شده
        if (field.getTerms() != null) {
            for (int k = 0; k < field.getTerms().length; k++) {
                System.out.println("\t\t" + field.getTerms()[k] + "\t - \t" + field.getTermsOccurrences()[k]);
            }
        }
    }
}

نتیجه

برای نتیجه گیری، یاد گرفتید که چگونه کلمات و همفون آنها را از چندین سند در یک پوشه مشخص با استفاده از Java پیدا کنید. می‌توانید با استفاده از GroupDocs.Search for Java، اپلیکیشن Java خود را برای جستجوی همفون‌ها ایجاد کنید.

درباره Java Search Automation API از مستندات بیشتر بیاموزید. برای تجربه ویژگی‌های آن، می‌توانید به نمونه‌های موجود در مخزن GitHub نگاهی بیندازید. برای هرگونه سوال از طریق [فروم 14 با ما تماس بگیرید.

همچنین ببینید