Hi Otis

The cache was modest 4096 with a hit rate of 0.23 after a 24hr period.
We doubled it and the hit rate went to 0.25. Our interpretation is ip is
pretty much a cache busting value ? and
cache size is not at play here.

the q param is just startIpNum:[* TO 180891652]AND endIpNum:[180891652 TO
*] so again our
interpretation is its got little reuse

Could we re-formulate the query to be more per-formant ?


On 9 January 2013 12:56, Otis Gospodnetic <otis.gospodne...@gmail.com>wrote:

> Hi,
>
> Maybe your cache is too small?  How big is it and does the hit rate change
> if you make it bigger?
>
> Do any parts of the query repeat a lot? Maybe there is room for fq.
>
> Otis
> Solr & ElasticSearch Support
> http://sematext.com/
> On Jan 9, 2013 6:08 AM, "Lee Carroll" <lee.a.carr...@googlemail.com>
> wrote:
>
> > Hi
> >
> > We are doing a lat/lon look up query using ip address.
> >
> > We have a 6.5 million document core of the following structure
> > start ip block
> > end ip block
> > location id
> > location_lat_lon
> >
> > the field defs are
> > <types>
> > <fieldType name="string" class="solr.StrField" sortMissingLast="true"
> > omitNorms="true"/>
> > <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
> > omitNorms="true" positionIncrementGap="0"/>
> > <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8"
> > omitNorms="true" positionIncrementGap="0"/>
> > <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8"
> > omitNorms="true" positionIncrementGap="0"/>
> > <fieldType name="location" class="solr.LatLonType" subFieldSuffix="
> > _coordinate"/>
> > </types>
> > <fields>
> > <field name="startIp" type="string" indexed="true" stored="false"
> > required="
> > true"/>
> > <field name="startIpNum" type="tlong" indexed="true" stored="false"
> > required
> > ="true"/>
> > <field name="endIpNum" type="tlong" indexed="true" stored="false"
> > required="
> > true"/>
> > <field name="locId" type="string" indexed="true" stored="true" required="
> > true"/>
> > <field name="countryCode" type="string" indexed="true" stored="true"
> > required="false"/>
> > <field name="cityName" type="string" indexed="false" stored="true"
> required
> > ="false"/>
> > <field name="latLon" type="location" indexed="true" stored="true"
> > required="
> > true"/>
> > <field name="latitude" type="string" indexed="false" stored="true"
> required
> > ="true"/>
> > <field name="longitude" type="string" indexed="false" stored="true"
> > required
> > ="true"/>
> > <dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="
> > false"/>
> > </fields>
> >
> > the query at the moment is simply a range query
> >
> > q=startIpNum:[* TO 180891652]AND endIpNum:[180891652 TO *]
> >
> > we are seeing a full query cache with a low hit rate 0.2 and a high
> > eviction rate which makes sense given the use of ip address in the query.
> >
> > query time mean is 120.
> >
> > Is their a better way of structuring the core for this usecase ?
> > I suspect our heap memory settings are conservative 1g but will need to
> > convince our sys admins to change this (they are not ringing any resource
> > alarm bells) just the query is a little slow
> >
>

Reply via email to