ابحث في Homophones في Files باستخدام GroupDocs

المرادفات هي كلمات لها نفس المعنى ، وأصوات الهوموفون هي نفسها ولكنها تختلف في المعاني أو الهجاء. تعلمنا [العثور على مرادفات في مستندات متعددة باستخدام جافا] (https://blog.groupdocs.com/ar/2021/10/03/find-synonyms-in-multiple-files-using-java/). اليوم ، في هذه المقالة ، سنرى كيفية البحث عن المتجانسات داخل مستندات متعددة باستخدام Java.

سيتم تناول الموضوعات التالية أدناه:

Java API للبحث عن المتجانسات

يعرض [GroupDocs.Search] (https://products.groupdocs.com/search/) واجهة برمجة تطبيقات Java ([GroupDocs.Search for Java] (https://products.groupdocs.com/search/net/)) التي تسمح العثور على أي كلمة وهوموفوناتها داخل ملفات متعددة من أي مجلد محدد. يمكنه البحث في محتوى [تنسيقات مختلفة مختلفة] (https://docs.groupdocs.com/search/net/supported-document-formats/). بالإضافة إلى العثور على المتجانسات ، تدعم واجهة برمجة التطبيقات العديد من تقنيات البحث الأخرى التي تشمل:

  • بحث حساس لحالة الأحرف
  • بحث غامض
  • البحث بالعبارة
  • البحث عن التعبيرات العادية
  • بحث المرادفات
  • بحث وايلد كارد

يمكنك تنزيل ملف JAR من [قسم التنزيلات] (https://downloads.groupdocs.com/search) أو استخدام أحدث مستودع وتبعية [Maven] (https://repository.groupdocs.com/webapp/#/ القطع الأثرية / تصفح / شجرة / جنرال / ريبو / كوم / مجموعة دوكس) ضمن تطبيقات جافا الخاصة بك.

<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

البحث عن Homophones في ملفات متعددة في Java

توجه الخطوات التالية كيفية البحث عن المتجانسات في ملفات متعددة لمجلد في Java.

يعثر كود مصدر Java التالي على جميع المتجانسات داخل ملفات المجلد المحدد. علاوة على ذلك ، يمكنك أيضًا [إدارة قاموس اللغة المتجانسة الخاص بك] (https://docs.groupdocs.com/search/java/homophone-dictionary/).

// ابحث عن المتجانسات في ملفات ومجلدات متعددة باستخدام 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

// ابحث عن كلمة "right"
// بالإضافة إلى كلمة "right" ، سيتم البحث أيضًا عن شعائر المتجانسة "طقوس ، كتابة ، كتابة ، ..."
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

يمكنك استخدام نتائج البحث المتجانسة باتباع الخطوات بعد الحصول على الهوموفونات وتكراراتها من كل وثيقة.

يقوم مثال كود Java التالي بطباعة نتائج البحث المتجانسة جنبًا إلى جنب مع عدد مرات حدوث كل مصطلح تم البحث عنه.

// طباعة نتائج بحث Homophone في 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

// ابحث عن كلمة "right"
// بالإضافة إلى كلمة "right" ، سيتم البحث أيضًا عن شعائر المتجانسة "طقوس ، كتابة ، كتابة ، ..."
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. يمكنك محاولة تطوير تطبيق Java الخاص بك للبحث عن المتجانسات باستخدام GroupDocs.Search for Java.

تعرف على المزيد [حول واجهة برمجة تطبيقات Java Search Automation] (https://docs.groupdocs.com/search/java/) من الوثائق. لتجربة ميزاته ، يمكنك إلقاء نظرة على الأمثلة المتاحة على مستودع [GitHub] (https://github.com/groupdocs-search). تواصل معنا بخصوص أي استفسار عبر [المنتدى] (https://forum.groupdocs.com/).

أنظر أيضا