lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruslan Sivak <rsi...@istandfor.com>
Subject Re: optimizing single document searches
Date Wed, 28 Feb 2007 21:28:55 GMT
karl wettin wrote:
>
> 28 feb 2007 kl. 00.49 skrev Russ:
>
>> Thanks, I will try it tommorow... Is it significantly different from 
>> using a standard index on a ramdir?
>>
>
> A bit different.
>
> You can also try LUCENE-550. It has about the same speed as 
> contrib/memory but can handle multiple documents and use reader, 
> writer and searcher as any other index.
>
> --karl
>
Karl,

Thank you.  I tried the contrib/memory and it's awesome.  Got my search 
time down to 300ms from 5 seconds. 

I'm still having some performance issues on the set up.  I can probably 
live with them, as I'll be caching these terms, but maybe I can optimize 
it somehow.  It currently takes about 3.5 seconds to set up.  I am 
basically creating 40k SpanNearQueries.  Here is my method that creates 
them.  Is there anything I can improve?

private static Analyzer analyzer=new StandardAnalyzer();
public static SpanNearQuery createSpanNearQuery(String string, int slop, 
boolean inOrder)
    {
        Vector terms=new Vector();
        TokenStream tokenizer=Lucene.analyzer.tokenStream("body", new 
StringReader(string));
        Token token = null;
        do {

            try {
                token=tokenizer.next();
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (token!=null)
            {
                terms.add(new SpanTermQuery(new 
Term("body",token.termText())));
            }
        }
        while (token!=null && terms.size()<10);
       
        SpanTermQuery[] termsArray=new SpanTermQuery[terms.size()];
        for (int i=0;i<terms.size();i++)
        {
            termsArray[i]=(SpanTermQuery) terms.get(i);
        }
        return new SpanNearQuery(termsArray,slop,inOrder);
    }


Russ

---------------------------------------------------------------------
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