I tried the cityName:city~0.8, and it is still not fast enough..
something around 2 seconds... to return only 2 results...
OK, so we trimmed down the search terms we actually used in the query but I suspect what you are
seeing is the effect of having to perform edit-distance comparisons on ALL town names to get to
this shortlist. If this is the case then you'll probably be seeing a lot of CPU activity. One way
of avoiding this is to set the "prefix length" parameter on fuzzy queries to at least
one. This determines if you are comparing Rambouillet with ALL terms (as the default zero prefix
length setting does) or just those beginning with "R".
Assuming an even spread of town names to letters that would cut the computation
down to 1/26th of the original cost.
Cheers
Mark
Sami Dalouche wrote:
Hi,
Compass offers me any kind of control Lucene does. it gives access to
the low level Lucene API if you want too, so if you have a nice way of
optimizing it, I can have Compass adapt to that.
I tried the cityName:city~0.8, and it is still not fast enough..
something around 2 seconds... to return only 2 results...
(city:Rambouillet~0.8)
Sami Dalouche
Le mercredi 31 mai 2006 à 09:28 +0100, mark harwood a écrit :
Actually, I am not using Lucene directly, but a
wrapper called compass
I don't know what controls it offers you then.
One option which could offer a speed up is to raise
the minimum quality match threshold above the default
of 0.5 and use a query string like this:
cityName:London~0.8
This would reduce the number of alternative terms
considered and therefore the query time.
--- Sami Dalouche <[EMAIL PROTECTED]> wrote:
Hi,
1) Actually, I am not using Lucene directly, but a
wrapper called
compass. I am using the find() method of the
CompassSession, which code
is :
public CompassHits find(String query) throws
CompassException {
return
createQueryBuilder().queryString(query).toQuery().hits();
}
And all of these objects are pure wrappers around
lucene equivalents,
nothing more.
2) What I am timing is only the find call :
-- start timer
CompassHits hits = compassSession.find("cityName:"+
name+"~");
-- stop timer
3) I am not sorting anything, but lucene is
returning the hits by
relevance. Does this count as sorting ?
4) I tried to time the thing for ~10 queries, and
the results are
roughly the same. Can go down to 2 seconds, which is
still way too
much...
Thanks for helping
sami Dalouche
On Tue, 2006-05-30 at 13:58 -0700, Chris Hostetter
wrote:
: Fuzzy searching against this property takes
around 3 seconds, which is
: way too much for what I plan to do, so I am
considering the possible
whenever anyone has a question about how to speed
up a search, and the
current amount of time the search takes is more
then a second, there are a
few questions i allways want to ask:
1) what method exactly on the Searcher interface
are you using the
execute the search?
2) what exactly are you timing? (the time the
search method call takes?,
the time it takes you to iterate over the
results? etc...)
3) are you sorting by any particular field?
4) are you reusing the Searcher instance for more
then one query? are
you timing more then one query and taking the
average?
-Hoss
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
___________________________________________________________
The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Send instant messages to your online friends http://uk.messenger.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]