Hi there,
I have an index with about 250K document, to be indexed full text.
there are 2 types of searches carried out, 1. using 1 field, the other using
4 .. for a query string ...
given the nature of the queries required, all stop words are maintained in
the index, thereby allowing for phrasal queries, (this is a requirement) ..
So search I am using the following ..
if(fldArray.length > 1)
{
// use four fields
BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD};
query = MultiFieldQueryParser.parse(queryString, fldArray, flags,
analyzer); //parse the
}
else
{
//use only 1 field
query = new QueryParser("tags", analyzer).parse(queryString);
}
When i search on the 4 fields the average search time is 16 sec ..
When i search on the 1 field the average search time is 9 secs ...
The Analyzer used for both searching and indexing is
Analyzer analyzer = new StandardAnalyzer(new String[]{});
The index size is about a 1GB ..
The documents vary in size some are less than 1K max size is about 5k
Is there anything I can do to make this faster.... 16 secs is just not
acceptable ..
Machine : 512MB, celeron 2600 ... Lucene 2.0
I could go for a bigger machine but wanted to make sure that the problem was
not something I was doing, given 250K is not that large a figure ..
Please Help
Thanx
Mo