Sure.

 public float doBodySearch(Searcher searcher,String query, int id){

                 try{
                                score = search(searcher, query,id);
                     }
                      catch(IOException io){}
                      catch(ParseException pe){}

                      return score;

                }

 private float search(Searcher searcher, String queryString, int id) throws
ParseException, IOException {

        // Build a Query object

        QueryParser queryParser = new QueryParser("contents", new
KeywordAnalyzer());

        queryParser.setDefaultOperator(QueryParser.Operator.AND);

        Query query = queryParser.parse(queryString);

        // Search for the query

        Hits hits = searcher.search(query);
        Document doc = null;

        // Examine the Hits object to see if there were any matches
        int hitCount = hits.length();

                for(int i=0;i<hitCount;i++){
                doc = hits.doc(i);
                String str = doc.get("item");
                int tmp = Integer.parseInt(str);
                if(tmp==id)
                score = hits.score(i);
                }

        return score;
    }

I really need to optimize doBodySearch(...) as this takes the most time.

thanks guys,
Askar

On 7/24/07, N. Hira <[EMAIL PROTECTED]> wrote:
>
> Could you show us the relevant source from doBodySearch()?
>
> -h
>
> On Tue, 2007-07-24 at 19:58 -0400, Askar Zaidi wrote:
> > I ran some tests and it seems that the slowness is from Lucene calls
> when I
> > do "doBodySearch", if I remove that call, Lucene gives me results in 5
> > seconds. otherwise it takes about 50 seconds.
> >
> > But I need to do Body search and that field contains lots of text. The
> field
> > is <contents>. How can I optimize that ?
> >
> > thanks,
> > Askar
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to