Suchen Sie mit GroupDocs nach Homophonen in Dateien

Synonyme sind Wörter mit ähnlicher Bedeutung, und Homophone klingen gleich, unterscheiden sich aber in Bedeutung oder Schreibweise. Wir haben gelernt, Synonyme in mehreren Dokumenten mit Java zu finden. Heute werden wir in diesem Artikel sehen, wie man mit Java in mehreren Dokumenten nach Homophonen sucht.

Nachfolgend werden folgende Themen behandelt:

Java-API zum Suchen von Homophonen

GroupDocs.Search präsentiert die Java-API (GroupDocs.Search for Java), die es ermöglicht Finden jedes Wortes und seiner Homophone in mehreren Dateien eines bestimmten Ordners. Es kann den Inhalt von [verschiedenen verschiedenen Formaten] durchsuchen (https://docs.groupdocs.com/search/net/supported-document-formats/). Neben der Suche nach Homophonen unterstützt die API viele andere Suchtechniken, darunter:

  • Suche mit Berücksichtigung der Groß- und Kleinschreibung
  • Ungenaue Suche
  • Phrasensuche
  • Suche nach regulären Ausdrücken
  • Synonymsuche
  • Wildcard-Suche

Sie können die JAR-Datei aus dem Download-Bereich herunterladen oder das neueste Repository und die neueste Abhängigkeit Maven verwenden. webapp/#/artifacts/browse/tree/General/repo/com/groupdocs) Konfigurationen in Ihren Java-Anwendungen.

<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

Finden Sie Homophone in mehreren Dateien in Java

Die folgenden Schritte führen zum Suchen von Homophonen in mehreren Dateien eines Ordners in Java.

Der folgende Java-Quellcode findet alle Homophone in Dateien des definierten Ordners. Außerdem können Sie auch Ihr homophones Wörterbuch verwalten.

// Suchen Sie mit Java nach Homophonen in mehreren Dateien und Ordnern
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";

// Erstellen eines Index im angegebenen Ordner
Index index = new Index(indexFolder);
index.add(documentsFolder);

// Erstellen eines Suchoptionsobjekts
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search

// Suche nach dem Wort „richtig“
// Neben dem Wort „right“ wird auch nach den Homophonen „rite, write, wright, ...“ gesucht
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());

Die Ausgabe des obigen Codes ist wie folgt:

Query: right
Documents: 2
Occurrences: 17

Sie können die Suchergebnisse für Homophone verwenden, indem Sie die Schritte ausführen, nachdem Sie die Homophone und ihre Vorkommen aus jedem Dokument abgerufen haben.

  • Durchsuchen Sie die Suchergebnisse.
  • Rufen Sie jedes FoundDocument mithilfe von getFoundDocument()-Methode.
  • Verwenden Sie die Eigenschaften jedes gefundenen Dokuments nach Bedarf.
  • Durchsuchen Sie nun die Felder von FoundDocument, indem Sie FoundDocumentField abrufen.
  • Später erhalten Sie von jedem FoundDocumentField alle Begriffe und deren Vorkommen in jedem Dokument.

Das folgende Java-Codebeispiel gibt die homophonen Suchergebnisse zusammen mit der Anzahl der Vorkommen jedes gesuchten Begriffs aus.

// Drucken der Homophon-Suchergebnisse in Java
System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());

// Durchsuchen Sie die Dokumente
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());
  
  // Durchlaufen Sie die gefundenen Felder
  for (FoundDocumentField field : document.getFoundFields()) {
        System.out.println("\tField: " + field.getFieldName());
        System.out.println("\tOccurrences: " + document.getOccurrenceCount());
  
        // Gefundene Begriffe drucken
        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]);
            }
        }
    }
}

Das Folgende ist die Ausgabe des obigen Codebeispiels.

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

Suche nach Homophonen und Druckergebnissen mit Java – vollständiger Code

Der folgende Java-Code kombiniert die obigen Schritte. Zunächst findet es die Homophone gemäß der Abfrage und druckt dann alle Vorkommen von Homophonen aus jedem Dokument im bereitgestellten Ordner.

// Suchen Sie mit Java nach Homophonen in mehreren Dateien und Ordnern
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";

// Erstellen eines Index im angegebenen Ordner
Index index = new Index(indexFolder);
index.add(documentsFolder);

// Erstellen eines Suchoptionsobjekts
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search

// Suche nach dem Wort „richtig“
// Neben dem Wort „right“ wird auch nach den Homophonen „rite, write, wright, ...“ gesucht
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());
  
        // Gefundene Begriffe drucken
        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]);
            }
        }
    }
}

Fazit

Abschließend haben Sie gelernt, wie Sie mit Java die Wörter und ihre Homophone aus mehreren Dokumenten in einem bestimmten Ordner finden. Sie können versuchen, Ihre eigene Java-Anwendung für die Suche nach Homophonen mit GroupDocs.Search for Java zu entwickeln.

Weitere Informationen über die Java Search Automation API finden Sie in der Dokumentation. Um seine Funktionen zu erleben, können Sie sich die verfügbaren Beispiele im GitHub-Repository ansehen. Kontaktieren Sie uns für Fragen über das Forum.

Siehe auch