A keresési eredmények hatékony kezelése alapvető fontosságú egy hatékony dokumentum-visszakereső rendszerhez, és ezen eredmények értelmezésének és felhasználásának ismerete nagyban javíthatja az adatvezérelt döntéseket. Ebben az útmutatóban megvizsgáljuk, hogyan dolgozhatunk a keresési eredményekkel Java használatával. Az indextár létrehozásától a fuzzy keresési paraméterek beállításáig ez az oktatóanyag egy egyszerű, gyakorlati módszert kínál a keresési lekérdezések és a hozzájuk tartozó eredmények kezelésére. Akár egyszerű kifejezésegyezéseket, akár bonyolultabb kifejezéseket elemez, ez a megközelítés lehetővé teszi az eredmények alapos feldolgozását és az értékes minták azonosítását. A végére jártas lesz abban, hogyan keresheti le a keresési eredményeket Java nyelven, és hogyan alkalmazhatja azokat különféle felhasználási esetekben.
Lépések a keresési eredmények kezeléséhez Java használatával
- Adja hozzá a GroupDocs.Search for Java könyvtárat projektjéhez, hogy a keresési eredményekkel dolgozhasson
- Hozzon létre egy indexobjektumot a Index osztály használatával, és adja meg az index tárolásának mappáját
- Az Index.add módszerrel indexelhet dokumentumokat a kijelölt mappából
- Hozzon létre egy SearchOptions-példányt, és engedélyezze a fuzzy keresést a FuzzySearch.setEnabled(true) meghívásával.
- Állítsa be a megengedett legnagyobb eltéréseket (pl. 3) a setFuzzyAlgorithm metódussal
- Hívja az Index.search metódust a megadott kifejezéseket vagy kifejezéseket tartalmazó dokumentumok kereséséhez a konfigurált keresési beállításokkal együtt
- Jelenítse meg a getDocumentCount metódussal talált dokumentumok számát és a keresési kifejezések összes előfordulását a getOccurrenceCount metódussal
- Ismételje meg a keresési eredményeket a getFoundDocument metódussal, és minden dokumentum esetében mutassa meg a fájl elérési útját és az előfordulások számát
- Minden egyes dokumentum esetében tekintse át a FoundDocumentField gyűjteményt, és jelenítse meg a részleteket, például a mezőneveket, az előfordulások számát, a talált kifejezéseket és kifejezéseket.
A keresési eredmények hatékony kezeléséhez az első lépés egy indextár létrehozása a dokumentumok számára. A megadott kódrészlettel egy index jön létre egy kijelölt mappában, és egy másik mappából származó dokumentumok hozzáadódnak ehhez az indexhez. Ezután a keresési beállítások úgy vannak beállítva, hogy aktiválják a fuzzy keresést, lehetővé téve a rugalmas egyeztetést a különbségek meghatározott küszöbértékével. Ez a konfiguráció támogatja az olyan kifejezések keresését, mint az Einstein vagy az olyan kifejezések, mint a relativitáselmélet kifinomult algoritmusok használatával. A keresés végrehajtása után az eredmények a SearchResult objektumon keresztül kerülnek lekérésre. Megjelenik a lekérdezésnek megfelelő dokumentumok száma és előfordulásuk száma. Az egyes dokumentumok részletes adatait kivonatolja, beleértve a fájl elérési útját és a kifejezés előfordulását. Az egyes dokumentumokban talált mezők iterációjával pontosan meghatározhatja a megfelelő mezőket, és elemezheti a kifejezéseket és kifejezéseket a gyakoriságukkal együtt. Az alábbi kód bemutatja, hogyan lehet elérni az indexes keresési eredményeket Java-val, rendszerezett nézetet kínálva a letöltött információkról.
Kód a keresési eredmények kezeléséhez Java használatával
import com.groupdocs.search.Index; | |
import com.groupdocs.search.licenses.License; | |
import com.groupdocs.search.options.SearchOptions; | |
import com.groupdocs.search.options.TableDiscreteFunction; | |
import com.groupdocs.search.results.FoundDocument; | |
import com.groupdocs.search.results.FoundDocumentField; | |
import com.groupdocs.search.results.SearchResult; | |
public class WorkwithSearchResultsUsingJava { | |
public static void main(String[] args) throws Exception { | |
// Apply the license to remove the restrictions | |
// imposed by the Search library | |
License license = new License(); | |
license.setLicense("GroupDocs.Search.lic"); | |
// The path where the index will be stored | |
String indexFolder = "c:\\MyIndex\\"; | |
// The folder containing the documents you want to search | |
String documentsFolder = "c:\\MyDocuments\\"; | |
// Creating an index in the specified folder | |
Index index = new Index(indexFolder); | |
// Indexing documents from the specified folder | |
index.add(documentsFolder); | |
// Creating search options | |
SearchOptions options = new SearchOptions(); | |
options.getFuzzySearch().setEnabled(true); // Enabling the fuzzy search | |
options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3)); // Setting the maximum number of differences to 3 | |
// Search for documents containing the word 'Einstein' or the phrase 'Theory of Relativity' | |
SearchResult result = index.search("Einstein OR \"Theory of Relativity\"", options); | |
// Printing the result | |
System.out.println("Documents: " + result.getDocumentCount()); | |
System.out.println("Total occurrences: " + result.getOccurrenceCount()); | |
for (int i = 0; i < result.getDocumentCount(); i++) { | |
FoundDocument document = result.getFoundDocument(i); | |
System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath()); | |
System.out.println("\tOccurrences: " + document.getOccurrenceCount()); | |
for (FoundDocumentField field : document.getFoundFields()) { | |
System.out.println("\t\tField: " + field.getFieldName()); | |
System.out.println("\t\tOccurrences: " + document.getOccurrenceCount()); | |
// Printing found terms | |
if (field.getTerms() != null) { | |
for (int k = 0; k < field.getTerms().length; k++) { | |
System.out.println("\t\t\t" + field.getTerms()[k] + " - " + field.getTermsOccurrences()[k]); | |
} | |
} | |
// Printing found phrases | |
if (field.getTermSequences() != null) { | |
for (int k = 0; k < field.getTermSequences().length; k++) { | |
String[] terms = field.getTermSequences()[k]; | |
String sequence = ""; | |
for (String term : terms) { | |
sequence += term + " "; | |
} | |
System.out.println("\t\t\t" + sequence + " - " + field.getTermSequencesOccurrences()[k]); | |
} | |
} | |
} | |
} | |
} | |
} |
A keresési eredmények megfelelő kezelése és elemzése elengedhetetlen az indexelt adatok teljes potenciáljának kiaknázásához. Ez a folyamat túlmutat a dokumentumok puszta lekérésén; magában foglalja a kifejezések előfordulásának elemzését, az egyezések azonosítását meghatározott mezőkön belül, és a kifejezésminták vizsgálatát. Az itt felvázolt módszer lehetővé teszi az eredmények alapos és szervezett módon történő vizsgálatát, így mélyebb betekintést nyerhet az adatokba. Ezenkívül a könyvtár platformok közötti kompatibilitása garantálja a különböző rendszerek és környezetek közötti zökkenőmentes integrációt, növelve a kereséssel kapcsolatos feladatok rugalmasságát. Ennek a technikának az elsajátításával hatékonyan kezelheti a keresési eredményeket Java nyelven, és sokféle felhasználási területen alkalmazhatja azokat, az adatelemzéstől a valós idejű dokumentum-visszakeresésig.
Korábban részletes útmutatót adtunk a keresési jelentések Java használatával történő létrehozásához. A teljes, lépésenkénti folyamat követéséhez feltétlenül olvassa el részletes cikkünket a keresési jelentés létrehozása Java használatával.