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



Reply via email to