Dear Fellow Java and Lucene developers: I am trying to display my results from doing a search of an xml document (some quotes from shakespeare's "Hamlet") using a WildCard and Fuzzy search, and then I'm trying to highlight the keyword(s) in the results, but unfortunately I am having problems. In the code that I have listed below, I am null as my out put for any potential hits I should get, however, the search term I am using (?rr*) should match the word "arrows" that appears in the xml document. Can you see what I am doing wrong? I get the feeling that the problem is with the Analyzer object, but not sure how to highlight my results without it. With a QueryParser constructor, it requires an Analyzer object, but not the WildCard nor Fuzzy constructors. Does anyone have a solution?
Thanks in advance to all those who reply. Sincerely; Fayyaz public List wildSearch(File indexDir) throws Exception { List searchResult = new ArrayList(); Directory fsDir=FSDirectory.getDirectory(indexDir); IndexSearcher is=new IndexSearcher(fsDir); Analyzer analyser = new StandardAnalyzer(); Query parser=new WildcardQuery(new Term("LINES", "?rr*")); long start=new Date().getTime(); Hits hits=is.search(parser); long end=new Date().getTime(); QueryScorer scorer = new QueryScorer(parser); Highlighter highlighter = new Highlighter(scorer); Highlighter high = new Highlighter(scorer); Fragmenter fragmenter = new NullFragmenter(); Fragmenter fragment = new SimpleFragmenter(250); highlighter.setTextFragmenter(fragmenter); high.setTextFragmenter(fragment); for(int i=0; i<hits.length(); i++){ Document doc=hits.doc(i); String lns = doc.get("LINES"); TokenStream lines = analyser.tokenStream("LINES", new StringReader(lns)); CachingTokenFilter filter = new CachingTokenFilter(lines); String highlightedLines = highlighter.getBestFragment(filter, lns); filter.reset(); String highlight = high.getBestFragment(filter, lns); SearchResult resultBean = new SearchResult(); resultBean.setNarrator(hits.doc(i).get("SPEAKER")); resultBean.setHitResult(highlight); resultBean.setQuote(highlightedLines); searchResult.add(resultBean); System.out.println(resultBean.getNarrator()); System.out.println(resultBean.getHitResult()); System.out.println(""); System.out.println(resultBean.getQuote()); System.out.println(""); } System.err.println("Found " + hits.length() + " document(s)(in " + (end-start) + " milliseconds) that matched query '" + "':"); return searchResult; } The xml document that I am searching through is listed below: <PLAY> <TITLE>The Tragedy of Hamlet, Prince of Denmark</TITLE> <SPEECH> <SPEAKER>LORD POLONIUS</SPEAKER> <LINES>Yet here, Laertes! aboard, aboard, for shame! The wind sits in the shoulder of your sail, And you are stay'd for. There; my blessing with thee! And these few precepts in thy memory See thou character. Give thy thoughts no tongue, Nor any unproportioned thought his act. Be thou familiar, but by no means vulgar. Those friends thou hast, and their adoption tried, Grapple them to thy soul with hoops of steel; But do not dull thy palm with entertainment Of each new-hatch'd, unfledged comrade. Beware Of entrance to a quarrel, but being in, Bear't that the opposed may beware of thee. Give every man thy ear, but few thy voice; Take each man's censure, but reserve thy judgment. Costly thy habit as thy purse can buy, But not express'd in fancy; rich, not gaudy; For the apparel oft proclaims the man, And they in France of the best rank and station Are of a most select and generous chief in that. Neither a borrower nor a lender be; For loan oft loses both itself and friend, And borrowing dulls the edge of husbandry. This above all: to thine ownself be true, And it must follow, as the night the day, Thou canst not then be false to any man. Farewell: my blessing season this in thee!</LINES> </SPEECH> <SPEECH> <SPEAKER>HAMLET</SPEAKER> <LINES>To be, or not to be: that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? To die: to sleep; No more; and by a sleep to say we end The heart-ache and the thousand natural shocks That flesh is heir to, 'tis a consummation Devoutly to be wish'd. To die, to sleep; To sleep: perchance to dream: ay, there's the rub; For in that sleep of death what dreams may come When we have shuffled off this mortal coil, Must give us pause: there's the respect That makes calamity of so long life; For who would bear the whips and scorns of time, The oppressor's wrong, the proud man's contumely, The pangs of despised love, the law's delay, The insolence of office and the spurns That patient merit of the unworthy takes, When he himself might his quietus make With a bare bodkin? who would fardels bear, To grunt and sweat under a weary life, But that the dread of something after death, The undiscover'd country from whose bourn No traveller returns, puzzles the will And makes us rather bear those ills we have Than fly to others that we know not of? Thus conscience does make cowards of us all; And thus the native hue of resolution Is sicklied o'er with the pale cast of thought, And enterprises of great pith and moment With this regard their currents turn awry, And lose the name of action.--Soft you now! The fair Ophelia! Nymph, in thy orisons Be all my sins remember'd.</LINES> </SPEECH> <SPEECH> <SPEAKER>HAMLET</SPEAKER> <LINES>To be, or not to be: that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? To die: to sleep; No more; and by a sleep to say we end The heart-ache and the thousand natural shocks That flesh is heir to, 'tis a consummation Devoutly to be wish'd. To die, to sleep; To sleep: perchance to dream: ay, there's the rub; For in that sleep of death what dreams may come When we have shuffled off this mortal coil, Must give us pause: there's the respect That makes calamity of so long life; For who would bear the whips and scorns of time, The oppressor's wrong, the proud man's contumely, The pangs of despised love, the law's delay, The insolence of office and the spurns That patient merit of the unworthy takes, When he himself might his quietus make With a bare bodkin? who would fardels bear, To grunt and sweat under a weary life, But that the dread of something after death, The undiscover'd country from whose bourn No traveller returns, puzzles the will And makes us rather bear those ills we have Than fly to others that we know not of? Thus conscience does make cowards of us all; And thus the native hue of resolution Is sicklied o'er with the pale cast of thought, And enterprises of great pith and moment With this regard their currents turn awry, And lose the name of action.--Soft you now! The fair Ophelia! Nymph, in thy orisons Be all my sins remember'd.</LINES> </SPEECH> <SPEECH> <SPEAKER>HAMLET</SPEAKER> <LINES>To be, or not to be: that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? To die: to sleep; No more; and by a sleep to say we end The heart-ache and the thousand natural shocks That flesh is heir to, 'tis a consummation Devoutly to be wish'd. To die, to sleep; To sleep: perchance to dream: ay, there's the rub; For in that sleep of death what dreams may come When we have shuffled off this mortal coil, Must give us pause: there's the respect That makes calamity of so long life; For who would bear the whips and scorns of time, The oppressor's wrong, the proud man's contumely, The pangs of despised love, the law's delay, The insolence of office and the spurns That patient merit of the unworthy takes, When he himself might his quietus make With a bare bodkin? who would fardels bear, To grunt and sweat under a weary life, But that the dread of something after death, The undiscover'd country from whose bourn No traveller returns, puzzles the will And makes us rather bear those ills we have Than fly to others that we know not of? Thus conscience does make cowards of us all; And thus the native hue of resolution Is sicklied o'er with the pale cast of thought, And enterprises of great pith and moment With this regard their currents turn awry, And lose the name of action.--Soft you now! The fair Ophelia! Nymph, in thy orisons Be all my sins remember'd.</LINES> </SPEECH> </PLAY> -- View this message in context: http://www.nabble.com/Displaying-and-highlighting-results-from-a-Wild-Card-and-Fuzzy-search-using-Lucene-in-Java-tp17582678p17582678.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]