Synonyme sind Wörter mit ähnlicher Bedeutung, und Homophone klingen gleich, haben aber unterschiedliche Bedeutungen oder Schreibweisen. 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 - Homophonsuche
- Finden Sie Homophone in Dokumenten mit Java
- Spielen Sie mit dem Homophon-Suchergebnis
Java-API zum Suchen von Homophonen
GroupDocs.Search präsentiert die Java-API GroupDocs.Search for Java, mit der jedes Wort und seine Homophone in mehreren Dateien eines bestimmten Ordners gefunden werden können. Es kann den Inhalt von verschiedenen verschiedenen Formaten durchsuchen. Zusätzlich zum Finden der Homophone 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 die neuesten Repository- und Abhängigkeitskonfigurationen Maven in Ihren Java-Anwendungen verwenden.
<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.
- Definieren Sie die Suchwortabfrage, den Indexordner und den Containerordner Ihrer Dateien.
- Erstellen Sie Index mit dem definierten Indexordner.
- Fügen Sie den Ordner des Dokuments zum Index hinzu.
- Definieren Sie die SearchOptions und aktivieren Sie die HomophoneSearch mit der Methode setUseHomophoneSearch.
- Führen Sie die Suche nach Homophonen mithilfe der Suchmethode durch.
- Verwenden Sie die Eigenschaften des abgerufenen SearchResult nach Bedarf.
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
Drucken von Homophon-Suchergebnissen in Java
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 der getFoundDocument-Methode ab.
- Verwenden Sie die Eigenschaften der einzelnen FoundDocument nach Bedarf.
- Durchsuchen Sie nun die Felder von FoundDocument, indem Sie FoundDocumentField abrufen.
- Rufen Sie später aus jedem FoundDocumentField alle Begriffe und ihre Vorkommen in jedem Dokument ab.
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.