lucene - sortering

, i dette kapitel vil vi se på sortering ordrer, som lucene giver søge resultatet af misligholdelse eller kan manipuleres, jf. sortering af relevans, det er automatisk sortering tilstand, der anvendes af lucene.lucene giver resultater af de mest relevante ramt på toppen.private tomrum sortusingrelevance (string - searchquery) kaster ioexception, parseexception {søger = ny søger (indexdir); lange starttime = system. currenttimemillis(); //skabe en periode til at gennemsøge filnavn sigt = ny betegnelse (luceneconstants.file_name, searchquery); //skabe langsigtede spørgsmål genstand forespørgsel spørgsmål = nye fuzzyquery (term). søger. setdefaultfieldsortscoring (sand, falske); //gøre søgningen topdocs rammer = søger. søgning (spørgsmål, art. relevans); 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. tryk (" score: "+ scoredoc.score +"); system. println ("fil:" + dok.. - (luceneconstants. file_path)} søger. close();}, sortering af indexorder, dette er sortering tilstand, der anvendes af lucene, hvor første dokument indeks er vist først i søgeresultater. private tomrum sortusingindex (string - searchquery) kaster ioexception, parseexception {søger = ny søger (indexdir); lange starttime = system. currenttimemillis(); //skabe en periode til at gennemsøge filnavn sigt = ny betegnelse (luceneconstants.file_name, searchquery); //skabe langsigtede spørgsmål genstand forespørgselforespørgsel = nye fuzzyquery (term), søger. setdefaultfieldsortscoring (sand, falske); //gøre søgningen topdocs rammer = søger. søgning (spørgsmål, art. indexorder); 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. tryk (" score: "+ scoredoc.score +"); system. println ("fil:" + dok.. - (luceneconstants. file_path)} søger. close();}, f.eks. ansøgning, lad os skabe en test lucene anvendelse for at teste sortering proces. stepdescription 1create et projekt med et navn, lucenefirstapplication under en pakke, com.tutorialspoint.lucene, som forklaret i den, lucene - første ansøgning, kapitel.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, 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), søger -, denne klasse anvendes til at læse de fortegnelser, der er foretaget 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, importorg.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.sort; 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)} offentlige topdocs søgning (forespørgsel spørgsmål), kaster ioexception, parseexception {tilbage indexsearcher. søgning (spørgsmål, luceneconstants. max_search)} offentlige topdocs søgning (forespørgsel spørgsmål, en art) kaster ioexception, parseexception {tilbage indexsearcher. søgning (spørgsmål, luceneconstants. max_search, form);} offentlige tomrum setdefaultfieldsortscoring (boolean dotrackskerner, boolean domaxscores) (indexsearcher. setdefaultfieldsortscoring (dotrackscores, domaxscores)} 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 test vi kan lucene bibliotek., pakke com.tutorialspoint.lucene; import java.io.ioexception; import org.apache.lucene.document.document; import org.apache.lucene.index.term; import org.apache.lucene.queryparser.parseexception; import org.apache.lucene.search.fuzzyquery; import org.apache.lucene.search.query; import org.apache.lucene.search.scoredoc; import org.apache.lucene.search.sort; import org.apache.lucene.search.topdocs; offentlige klasse lucenetester {snor indexdir = e: ¶ ¶ ¶ ¶ lucene indeks "snor datadir = e: ¶ ¶ ¶ ¶ lucene data". indexer indexer; søger søger; offentlige statisk tomrum vigtigste (string [] args) (lucenetester tester, tester = prøve (nye lucenetester(); - tester. sortusingrelevance ("cord3. txt"); - tester. sortusingindex ("cord3. txt");} fangst (ioexception e) (f. printstacktrace();} fangst (parseexception e) (f. printstacktrace();}} private tomrum sortusingrelevance (string - searchquery) kaster ioexception, parseexception {søger = ny søgning- (indexdir); lange starttime = system. currenttimemillis(); //skabe en periode til at gennemsøge filnavn sigt = ny betegnelse (luceneconstants.file_name, searchquery); //skabe langsigtede spørgsmål genstand forespørgsel spørgsmål = nye fuzzyquery (term), søger. setdefaultfieldsortscoring (sand, falske); //gøre søgningen topdocs rammer = søger. søgning (spørgsmål, art. relevans); 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. tryk (" score: "+ scoredoc.score +"); system. println ("fil:" + dok.. - (luceneconstants. file_path)} søger. close();} private tomrum sortusingindex (string - searchquery) kaster ioexception, parseexception {søger = ny søger (indexdir); lange starttime = system. currenttimemillis(); //skabe en periode til at gennemsøge filnavn sigt = ny betegnelse (luceneconstants.file_name, searchquery); ////////skabe udtrykket spørgsmål genstand forespørgsel spørgsmål = nye fuzzyquery (term), søger. setdefaultfieldsortscoring (sand, falske);////////- søgning topdocs rammer = søger. søgning (spørgsmål, art. indexorder); 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. tryk (" score: "+ scoredoc.score +"); system. println ("fil:" + dok.. - (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: 10 dokumenter.tid: 31ms score: 1.3179655 fil: e:. lucene. data. record3.txt score: 0.790779 fil: e:. lucene. data. record1.txt score: 0.790779 fil: e:. lucene. data. record2.txt score: 0.790779 fil: e:. lucene. data. record4.txt score: 0.790779 fil: e \\ lucene:) data. record5.txt score: 0.790779 fil: e:. lucene. data. record6.txt score: 0.790779 fil: e:. lucene. data. record7.txt score: 0.790779 fil: e:. lucene. data. record8.txt score: 0.790779 fil: e:. lucene. data. record9.txt score: 0.2635932 fil: e:. lucene. data. record10.txt 10 dokumenter.tid: 0ms score: 0.790779 fil: e:. lucene. data. record1.txt score: 0.2635932 fil: e:. lucene. data. record10.txt score: 0.790779 fil: e:. lucene. data. record2.txt score: 1.3179655 fil: e:. lucene. data. record3.txt score: 0.790779 fil: e \\ lucene:) data. record4.txt score: 0.790779 fil: e:. lucene. data. record5.txt score: 0.790779 fil: e:. lucene. data. record6.txt score: 0.790779 fil: e:. lucene. data. record7.txt score: 0.790779 fil: e:. lucene. data. record8.txt score: 0.790779 fil: e:. lucene. data. record9.txt,



Previous:
Next Page: