Synonimy to słowa o podobnym znaczeniu, a homofony brzmią tak samo, ale różnią się znaczeniem lub pisownią. Nauczyliśmy się znajdować synonimy w wielu dokumentach za pomocą Javy. Dzisiaj w tym artykule zobaczymy, jak wyszukiwać homofony w wielu dokumentach za pomocą Javy.
Poniżej zostaną omówione następujące tematy:
- Java API — wyszukiwanie homofonów
- Znajdź homofony w dokumentach za pomocą Javy
- Graj z wynikami wyszukiwania homofonów
Java API do wyszukiwania homofonów
GroupDocs.Search przedstawia interfejs Java API GroupDocs.Search for Java, który umożliwia znalezienie dowolnego słowa i jego homofonów w wielu plikach w dowolnym określonym folderze. Może przeszukiwać zawartość różnych formatów. Oprócz wyszukiwania homofonów interfejs API obsługuje wiele innych technik wyszukiwania, w tym:
- Wyszukiwanie z uwzględnieniem wielkości liter
- Wyszukiwanie rozmyte
- Wyszukiwanie fraz
- Wyszukiwanie wyrażeń regularnych
- Wyszukiwanie synonimów
- Wyszukiwanie dzikich kart
Możesz pobrać plik JAR z sekcji pobierania lub użyć najnowszych konfiguracji repozytorium i zależności Maven w swoich aplikacjach 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
Znajdź homofony w wielu plikach w Javie
Poniższe kroki wskazują, jak wyszukiwać homofony w wielu plikach folderu w Javie.
- Zdefiniuj wyszukiwane słowo, folder indeksowania i folder kontenera plików.
- Utwórz Indeks ze zdefiniowanym folderem indeksu.
- Dodaj folder dokumentu do indeksu.
- Zdefiniuj SearchOptions i włącz homophoneSearch za pomocą metody setUseHomophoneSearch.
- Wykonaj wyszukiwanie homofonów metodą wyszukiwania.
- W razie potrzeby użyj właściwości odzyskanego SearchResult.
Poniższy kod źródłowy Java znajduje wszystkie homofony w plikach określonego folderu. Ponadto możesz także zarządzać swoim słownikiem homofonów.
// Wyszukuj homofony w wielu plikach i folderach przy użyciu języka Java
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";
// Tworzenie indeksu w określonym folderze
Index index = new Index(indexFolder);
index.add(documentsFolder);
// Tworzenie obiektu opcji wyszukiwania
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search
// Wyszukaj słowo „właściwy”
// Oprócz słowa „właściwy” wyszukiwane będą również homofony „rytuować, pisać, pisać,…”
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());
Dane wyjściowe powyższego kodu są następujące:
Query: right
Documents: 2
Occurrences: 17
Drukowanie wyników wyszukiwania homofonów w Javie
Możesz użyć wyników wyszukiwania homofonów, wykonując czynności po uzyskaniu homofonów i ich wystąpień z każdego dokumentu.
- Przejrzyj wyniki wyszukiwania.
- Pobierz każdy FoundDocument za pomocą metody getFoundDocument.
- Użyj właściwości każdego FoundDocument zgodnie z wymaganiami.
- Teraz przejdź przez pola FoundDocument, pobierając FoundDocumentField.
- Później z każdego pola FoundDocumentField pobierz wszystkie terminy i ich wystąpienia w każdym dokumencie.
Poniższy przykładowy kod Java drukuje wyniki wyszukiwania homofonów wraz z liczbą wystąpień każdego wyszukiwanego terminu.
// Drukowanie wyników wyszukiwania homofonów w Javie
System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());
// Przejrzyj dokumenty
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());
// Przemierzaj znalezione pola
for (FoundDocumentField field : document.getFoundFields()) {
System.out.println("\tField: " + field.getFieldName());
System.out.println("\tOccurrences: " + document.getOccurrenceCount());
// Drukowanie znalezionych terminów
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]);
}
}
}
}
Poniżej przedstawiono dane wyjściowe powyższego przykładu kodu.
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
Wyszukiwanie homofonów i drukowanie wyników przy użyciu języka Java — pełny kod
Poniższy kod Java łączy powyższe kroki. Początkowo wyszukuje homofony zgodnie z zapytaniem, a następnie drukuje wszystkie wystąpienia homofonów z każdego dokumentu w podanym folderze.
// Wyszukuj homofony w wielu plikach i folderach przy użyciu języka Java
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";
// Tworzenie indeksu w określonym folderze
Index index = new Index(indexFolder);
index.add(documentsFolder);
// Tworzenie obiektu opcji wyszukiwania
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search
// Wyszukaj słowo „właściwy”
// Oprócz słowa „właściwy” wyszukiwane będą również homofony „rytuować, pisać, pisać,…”
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());
// Drukowanie znalezionych terminów
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]);
}
}
}
}
Wniosek
Podsumowując, nauczyłeś się znajdować słowa i ich homofony w wielu dokumentach w określonym folderze przy użyciu języka Java. Możesz spróbować stworzyć własną aplikację Java do wyszukiwania homofonów za pomocą GroupDocs.Search for Java.
Dowiedz się więcej o interfejsie Java Search Automation API z dokumentacji. Aby zapoznać się z jego funkcjami, możesz zapoznać się z dostępnymi przykładami w repozytorium GitHub. Skontaktuj się z nami w każdej sprawie za pośrednictwem forum.