Hi Michel, I don't know if it can highlight excel. but please look at
public String getHighlightFile(String path)
public String getHighlight(Reader reader)
and if u can read a excel as by a Reader then you can highlight them. Would please let me
know if u done this for I can index .doc file. Thanks.
Kerr.
----- Original Message -----
From: <MMachado@LEVI.com>
To: <lucene-user@jakarta.apache.org>
Sent: Thursday, April 10, 2003 9:40 PM
Subject: RE: a simple highlight resolvent
> Hi Kerr,
> With your program is possible to highlight a string or word inside a
> document in excel?? I need more clarification please. I will appreciate.
> Thanks
> Michel
>
>
> -----Original Message-----
> From: Hui Ouyang [mailto:hui@triplehop.com]
> Sent: Thursday, April 10, 2003 3:22 PM
> To: Lucene Users List
> Subject: RE: a simple highlight resolvent
>
> replaceAll() is only available for jdk14 above.
>
> -----Original Message-----
> From: keelkerr@hotmail.com [mailto:keelkerr@hotmail.com]
> Sent: Thu 4/10/2003 12:09 AM
> To: Lucene Users List
> Cc:
> Subject: a simple highlight resolvent
>
>
>
> hi everyone,
> I am new one in lucene and got a lot help in last 2 weeks. Here I
> want to share a a simple highlight resolvent. Of course I have try
> de.iqcomputing.lucene. Here just a simple way base the demo. Here is the
> source. It's a little inept. And I don't don't why it can't compile if I use
> String.replaceAll(), So I write another method to handle it. Any suggestion
> are welcomed.
> Kerr.
>
> to use it in results.jsp. --------------------------------
> hl = new
> org.apache.lucene.demo.HightLighter(query.toString("contents"));
> ...
> summary = hl.getHighlightFile(path);
> if (summary == null || summary.length() < 100 ){
> summary = doc.get("summary");
> } catch (Exception e){
> summary = doc.get("summary");
> }
> ...
> ---------------------------------------
> package org.apache.lucene.demo;
>
> import java.io.*;
> import java.util.*;
> import org.apache.lucene.demo.html.HTMLParser;
>
> public class HightLighter {
>
> String[] keys;
> boolean[] b;
>
> public HightLighter(String query) {
> HashMap highlight = new HashMap();
> StringTokenizer st = new StringTokenizer(query, "\"");
> String aToken;
> int off = 0;
> while(st.hasMoreTokens()){
> aToken = st.nextToken();
> char aChar;
> String dest = "";
> for(int i=0; i<aToken.length(); i++){
> aChar = aToken.charAt(i);
> if (aChar != '+' &&
> aChar != '-' &&
> aChar != '(' &&
> aChar != ')' &&
> aChar != ' '){
> dest = dest + aChar;
> }
> }
> if (dest.length() > 0) {
> highlight.put(Integer.toString(off) , dest);
> off = off + 1;
> }
> }
>
> keys = new String[highlight.size()];
> b = new boolean[highlight.size()];
> for(int c=0; c<highlight.size(); c++){
> keys[c] = (String)highlight.get(Integer.toString(c));
> b[c] = false;
> }
> }
>
> public String replaceKey(String sourceString, String key) {
> String destString = "";
> int i = sourceString.indexOf(key);
> while ( i != -1 ) {
> destString = destString + sourceString.substring(0,i)
> + "<font color=\"red\">" + key + "</font>";
> sourceString = sourceString.substring(i+key.length());
> i = sourceString.indexOf(key);
> }
> destString = destString+sourceString;
> return destString;
> }
>
> public String getHighlight(String string){
> for(int i=0; i<keys.length; i++){
> if (string.indexOf(keys[i]) != -1){
> //string = string.replaceAll(keys[i], "<font color=\"red\">"
> + keys[i] + "</font>");
> string = replaceKey(string, keys[i]);
> }
> }
> return string;
> }
>
> public String getHighlightFile(String path)
> throws IOException, InterruptedException {
>
> HTMLParser parser = new HTMLParser(new File(path));
> Reader fr = parser.getReader();
> String hlString = this.getHighlight(fr);
> fr.close();
> return hlString;
> }
>
> public String getHighlight(Reader reader){
>
> try{
> int size = 5 - keys.length;
> if ( size > 0) {
> size = size * 100;
> } else {
> size = 100;
> }
> char[] buffer = new char[size];
> StringBuffer last = new StringBuffer("..");
> String temp;
> boolean end = false;
> for(int c=0; c<b.length; c++){
> b[c] = false;
> }
>
> while ((reader.read(buffer) != -1) && !end){
> temp = new String(buffer);
> //System.out.println(temp);
> //temp = temp.replaceAll("\r\n", " ");
> for(int i=0; i<keys.length; i++){
> if (!b[i] && temp.indexOf(keys[i]) != -1){
> b[i] = true;
> //temp = temp.replaceAll(keys[i], "<font color=\"red\">"
> + keys[i] + "</font>");
> last.append("." + temp + "..");
> }
> }
> for(int i=0; i<keys.length; i++){
> if (!b[i]){
> end = false;
> break;
> } else {
> end = true;
> }
> }
> }
> last.append(".");
> if (last.length() < 100){
> return null;
> } else {
> return(this.getHighlight(last.toString()));
> }
> } catch (Exception e){
> return null;
> }
> }
> }
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: lucene-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: lucene-user-help@jakarta.apache.org
>
> |