On Apr 28, 2008, at 11:56 AM, Mike Klaas wrote:
On 27-Apr-08, at 12:31 PM, Alex Neth wrote:
I am trying to switch from Ferret to Solr. My searches were
performing quite well on Ferret (<100ms), but I have some reasons
for switching.
I am not experiencing terrible performance when doing range
searches. I have seen posts that granularity should be reduced,
but this is not an option in my case.
I have around 120K records with 8 digit range integer fields. When
I search for a small range, e.g. [0 100] the search is slow, but
usable. When I use a larger range, e.g. [0 99999999] the search
can take over 60 seconds. Searches without ranges are fast.
That seems quite slow for 120K docs. Is this on a warmed-up Solr?
(I.e., is the index in the OS's disk cache?)
I'm not sure if it's in the cache or not. How could I make sure that
it will be in the cache?
I did reduce the size of most of the caches because the memory
situation was unmanageable.
Is there a way to get good performance in this case? This is a
critical function for my application and I will not be able to use
Solr unless I can find a way to make this work.
There is always a way <g>. What is the distribution of values and
queries? How are you storing the field?
The field is indexed as a range integer and is an integer in the MySQL
database. I'm not sure what you mean by "how are you storing the
field," but that's the best I can answer.
The distribution is pretty small as they are lat/lon coordinates that
have been mapped to positive integers. Most of them are near each
other and the queries are in a relatively small range, e.g. (geo_lon:
[5752427 5781706] AND geo_lat:[13750592 13763600]).
cheers,
-Mike