lucene - eftersøgningen

, søger proces, er et af de centrale funktioner, der er fastsat i lucene.følgende diagram viser, at processen og anvendelse af klasser.indexsearcher er den mest vigtige og centrale del af at lede processen.,, vi skaber, fortegnelse, (e), der indeholder indekser, og så går det til, indexsearcher, som åbner, fortegnelse, bruger, indexreader,.så skaber vi en forespørgsel, med en løbetid på, og foretage en søgning ved hjælp af, indexsearcher, ved at vedtage de oplysninger, de søger., indexsearcher, returnerer et, topdocs, objekt, der indeholder søge oplysninger sammen med document id (er) af det dokument, der er resultatet af eftersøgningen. nu skal vi vise dig en trinvis proces for at få et kick start i forståelse med indeksering proces med en grundlæggende f.eks. skabe en queryparser,,, queryparser klasse parses brugeren opført input til lucene forståelig form forespørgsel.,,, skabe genstand for queryparser.,,, sæt den queryparser objekt, der oprettes med et standard - analysator under version informations - og indeks navn, som dette spørgsmål er at løbe.,,, queryparser queryparser; offentlige søger (string - indexdirectorypath) gør ioexception {queryparser = nye queryparser (version.lucene_36, luceneconstants.contents, nye standardanalyzer (version. lucene_36)}, skabe en indexsearcher,,, indexsearcher klasse fungerer som et centralt element, der søger indekser, der er skabt i løbet af indeksering proces.,,, skabe genstand for indexsearcher.,,, skabe en lucene register, der bør påpege, hvor fortegnelser opbevares.,,, sæt den indexsearcher objekt skabt med indeks fortegnelse,,, indexsearcher indexsearcher; offentlige søger (string - indexdirectorypath) kaster ioexception {adresseregister indexdirectory = fsdirectory. åben (ny database (indexdirectorypath)); indexsearcher = nye indexsearcher (indexdirectory)}, søgning,,, at begynde at søge, skabe en forespørgsel objekt af parsing søgning udtryk i queryparser.,,, ved at gøre -indexsearcher. search() metode.,,, indeholder spørgsmål, offentlige topdocs søgning (string - searchquery) kaster ioexception, parseexception {forespørgsel = queryparser. analysere (searchquery); tilbage indexsearcher. søgning (spørgsmål, luceneconstants. max_search)}, få det dokument, offentligt dokument getdocument (scoredoc scoredoc) kaster corruptindexexception, ioexception {tilbage indexsearcher. - (scoredoc. doc)}, tæt indexsearcher, offentlige eller close() kaster ioexception {indexsearcher. close();}, f.eks. ansøgning, lad os skabe en test lucene anvendelse på prøvning efter proces, stepdescription 1create et projekt med et navn, lucenefirstapplication under en pakke, com.tutorialspoint.lucene, som forklaret i den, lucene - første ansøgning, kapitelr. du kan også bruge projektet skabt i, lucene - første ansøgning, kapitel som sådan i dette kapitel, til at forstå, at lede processen.2create, luceneconstants. java,,, textfilefilter.java, og searcher.java, som forklaret i den, lucene - første ansøgning, kapitel.hold resten af filerne uændret.3create, lucenetester.java, som nævnt nedenfor.4clean og opbygge anvendelse for at sikre, at erhvervslivet logik er at arbejde som pr. kravene.,, luceneconstants -, denne klasse anvendes til at give forskellige konstanter anvendes i stikprøven anvendelse., pakke com.tutorialspoint.lucene; offentlige klasse luceneconstants {offentlige statisk sidste snor indhold = "indholdet" offentlige statisk sidste snor file_name = "filnavn" offentlige statisk sidste snor file_path = "filepath" offentlige statisk endelig udg. int max_search = 10), textfilefilter -, denne klasse anvendes som en. txt fil filter, pakke com.tutorialspoint.lucene; import java.io.file; import java.io.filefilter; offentlige klasse textfilefilter gennemfører filefilter {@ tilsidesætte offentlige boolean acceptere (sag pathname) {tilbage pathname. getname(). tolowercase(). endswith (". txt");), søger -, denne klasse anvendesat læse indekset på rådata og ransagninger data ved hjælp af lucene bibliotek., pakke com.tutorialspoint.lucene; import java.io.file; import java.io.ioexception; import org.apache.lucene.analysis.standard.standardanalyzer; import org.apache.lucene.document.document; import org.apache.lucene.index.corruptindexexception; import org.apache.lucene.queryparser.parseexception; import org.apache.lucene.queryparser.queryparser; import org.apache.lucene.search.indexsearcher; import org.apache.lucene.search.query; import org.apache.lucene.search.scoredoc; import org.apache.lucene.search.topdocs; import org.apache.lucene.store.directory; import org.apache.lucene.store.fsdirectory; import org.apache.lucene.util.version; offentlige klasse søger {indexsearcher indexsearcher; queryparser queryparser; forespørgsel spørgsmål; offentlige søger (string - indexdirectorypath) kaster ioexception {adresseregister indexdirectory = fsdirectory. åben (ny database (indexdirectorypath)); indexsearcher = nye indexsearcher (indexdirectory); queryparser = nye queryparser (version.lucene_36, luceneconstants.contents, nye standardanalyzer (version. lucene_36)} offentlige topdocs søgning (string searchquery) kaster ioexception, parseexception {forespørgsel = queryparser. analysere (searchquery); tilbage indexsearcher. søgning (spørgsmål, luceneconstants. max_search)} offentligt dokument getdocument (scoredoc scoredoc) kaster corruptindexexception, ioexception {tilbage indexsearcher. doc (scoredoc. doc)} offentlige tomrum close() kaster ioexception {indexsearcher. close();}},, lucenetester -, denne klasse anvendes til at teste den søgende mulighed for lucene bibliotek., pakke com.tutorialspoint.lucene; import java.io.ioexception; import org.apache.lucene.document.document; import org.apache.lucene.queryparser.parseexception; import org.apache.lucene.search.scoredoc; import org.apache.lucene.search.topdocs; offentlige klasse lucenetester {snor indexdir = e: ¶ ¶ ¶ ¶ lucene indeks "snor datadir = e: ¶ ¶ ¶ ¶ lucene data" søger søger; offentlige statisk tomrum vigtigste (string [] args) (lucenetester tester, tester prøve (= nye lucenetester(); - tester. søgning ("mohan ");} fangst (ioexception e) (f. printstacktrace();} fangst (parseexception e) (f. printstacktrace();}} private tomrum søgning (string - searchquery) kaster ioexception, parseexception {søger = ny søger (indexdir); lange starttime = system. currenttimemillis(); topdocs rammer = søger. - (searchquery); lange endtime = system. currenttimemillis(); system. println (hits.totalhits +" - dokumenter.tid: "+ (endtime - starttime) +" ms ") til (scoredoc scoredoc: hits. scoredocs) (dokument doc = søger. getdocument (scoredoc) system. println (" fil: "+ dok. kom (luceneconstants. file_path)} søger. close(),), data & indeks over oprettelse, jeg har brugt 10 tekstfiler ved navn fra record1.txt til record10.txt indeholder blot navne og andre oplysninger om studerende og læg dem i registret, e:. lucene. data. test data.et indeks over vej bør oprettes, e:. lucene. indeks.efter at en indeksering af programmet under kapitel, lucene - indeksering proces, kan du se listen over indeks filer oprettet i den mappe,., at programmet:, når du er færdig med at kilde, at skabe de rå data, data, fortegnelse, indeks over og klassifikationer, du er klar til dette skridt, som er at samle og dit program.for at gøre dette, hold lucenetester - fil regning aktive og anvende enten, løb, valgmulighed på solformørkelsen ide eller anvendelse, ctrl + f11, til at udarbejde og løbe din, lucenetester, anvendelse.hvis alt er i orden med din ansøgning, vil dette aftryk følgende budskab i formørkelse ide 's konsol:, 1 - dokumenter.tid: 29. fru fil: e:. lucene. data. record4.txt,,

Searching Process



Previous:
Next Page: