lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <e...@ehatchersolutions.com>
Subject Re: highlighting - fuzzy search
Date Tue, 04 Apr 2006 13:36:57 GMT
So, just like I said.... call Query.rewrite() and pass the returned  
Query to the Highlighter, not the original FuzzyQuery.  I believe the  
javadocs for Highlighter even mention this?   Or at least its an FAQ  
that hopefully is on the wiki or easily findable somehow.

	Erik


On Apr 4, 2006, at 9:10 AM, Fisheye wrote:

>
> Ok, thanks Erik. So probably my code may explain it:
>
> ---------------------------------------------------------------------- 
> ---------------------------------------------------------
>
>     public void searchQuery(String q, float rel, String indexDir){
>     	
>     	String excerpt = "";
>     	
>         try{
>         	
>           Searcher searcher = new IndexSearcher(indexDir);
>           Analyzer analyzer = new StandardAnalyzer();
>
>           Term searchTerm = new Term("text", q);
>           FuzzyQuery fuzzyQuery = new FuzzyQuery(searchTerm, rel/100);
>
> 	    	System.out.println("Searching for: " + q);
> 	    	
> 	    	Hits hits = searcher.search(fuzzyQuery);
> 	    	System.out.println(hits.length() + " total matching documents");
> 	    	
> 	    	for (int i = 0; i < hits.length(); i++){
> 		    		
> 			    	    Document doc = hits.doc(i);
> 			    	    String path = doc.get("path");
> 			    	
> 			    	    SearchTextHighlighter processText =
> 			    	    	new SearchTextHighlighter();
> 			    	
> //			    	    excerpt =
> //			    	    	processText.getExcerpt(doc.get("text"), q, fuzzyQuery);
> 			    	
> 			    	    if (path != null){
> 			    	    	
> 			                  System.out.println(i + ".-------");
> 			                  System.out.println("  Path:    " + path);
> 			                  System.out.println("  Score:   " + hits.score 
> (i));
> 			                  System.out.println("  DocID:   " + doc.get 
> ("docID"));
> 			                  System.out.println("  Snippet: " + excerpt);
> 			                  System.out.println();
> 			
> 			    	    }else{
> 			    	    	
> 			                  String url = doc.get("url");
> 			
> 			                  if (url != null){
> 			                	
> 						    		System.out.println(i + ". " + url);
> 						    		System.out.println("   - " + doc.get("title"));
> 						    		System.out.println("Score: " + hits.score(i));
> 						    		
> 			                  }else{
> 			                	
> 			                	  	System.out.println(i +
> 			                	  			". " + "No path nor URL for this document");
> 			                  }
> 			    	    }
> 	    	}
>
>           searcher.close();
>
>         }catch (Exception e){
>         	
>         	e.printStackTrace();
>         }
>       }
>
> ---------------------------------------------------------------------- 
> ---------------------------------------------------------
>
> Method getExcerpt does the following:
>
> ---------------------------------------------------------------------- 
> ---------------------------------------------------------
>
>   public String getExcerpt(String textToCompute, String queryText,  
> Query
> query) {
>
>     String excerpt = "";
>     String vTemp = "";
>     Analyzer analyzer = new StandardAnalyzer();
>     Highlighter highlighter = new Highlighter(new QueryScorer(query));
>
>     if(textToCompute != null ){
>
>       TokenStream tokenStream = analyzer.tokenStream("text",
>             new StringReader(textToCompute));
>
>       try {
>
>         vTemp = highlighter.getBestFragment(tokenStream,  
> textToCompute);
>         excerpt = vTemp.replaceAll("" + queryText + "", queryText);
>       }
>       catch (IOException ex) {
>
>
>       }
>     }
>
>     return excerpt;
>   }
>
> ---------------------------------------------------------------------- 
> ---------------------------------------------------------
> --
> View this message in context: http://www.nabble.com/highlighting--- 
> fuzzy-search-t1392775.html#a3743994
> Sent from the Lucene - Java Users forum at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message