Michael,

Interesting! Do (Can) you apply this to facet searches as well?

Dmitry


On Mon, Apr 29, 2013 at 4:02 PM, Michael Della Bitta <
michael.della.bi...@appinions.com> wrote:

> We've found that you can do a lot for yourself by using a filter query
> to page through your data if it has a natural range to do so instead
> of start and rows.
>
> Michael Della Bitta
>
> ------------------------------------------------
> Appinions
> 18 East 41st Street, 2nd Floor
> New York, NY 10017-6271
>
> www.appinions.com
>
> Where Influence Isn’t a Game
>
>
> On Mon, Apr 29, 2013 at 6:44 AM, Dmitry Kan <solrexp...@gmail.com> wrote:
> > Abhishek,
> >
> > There is a wiki regarding this:
> >
> > http://wiki.apache.org/solr/CommonQueryParameters
> >
> > search "pageDoc and pageScore".
> >
> >
> > On Mon, Apr 29, 2013 at 1:17 PM, Abhishek Sanoujam
> > <abhi.sanou...@gmail.com>wrote:
> >
> >> We have a single shard, and all the data is in a single box only.
> >> Definitely looks like "deep-paging" is having problems.
> >>
> >> Just to understand, is the searcher looping over the result set
> everytime
> >> and skipping the first "start" count? This will definitely take a toll
> when
> >> we reach higher "start" values.
> >>
> >>
> >>
> >>
> >> On 4/29/13 2:28 PM, Jan Høydahl wrote:
> >>
> >>> Hi,
> >>>
> >>> How many shards do you have? This is a known issue with deep paging
> with
> >>> multi shard, see https://issues.apache.org/**jira/browse/SOLR-1726<
> https://issues.apache.org/jira/browse/SOLR-1726>
> >>>
> >>> You may be more successful in going to each shard, one at a time (with
> >>> &distrib=false) to avoid this issue.
> >>>
> >>> --
> >>> Jan Høydahl, search solution architect
> >>> Cominvent AS - www.cominvent.com
> >>> Solr Training - www.solrtraining.com
> >>>
> >>> 29. apr. 2013 kl. 09:17 skrev Abhishek Sanoujam <
> abhi.sanou...@gmail.com
> >>> >:
> >>>
> >>>  We have a solr core with about 115 million documents. We are trying to
> >>>> migrate data and running a simple query with *:* query and with start
> and
> >>>> rows param.
> >>>> The performance is becoming too slow in solr, its taking almost 2 mins
> >>>> to get 4000 rows and migration is being just too slow. Logs snippet
> below:
> >>>>
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55438000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=168308
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55446000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=122771
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55454000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=137615
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55450000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=141223
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55462000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=97474
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55458000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=98115
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55466000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=143822
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55474000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=118066
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55470000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=121498
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55482000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=164062
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55478000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=165518
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55486000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=118163
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55494000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=141642
> >>>> INFO: [coreName] webapp=/solr path=/select
> params={start=55490000&q=*:*&
> >>>> **wt=javabin&version=2&rows=**4000} hits=115760479 status=0
> QTime=145037
> >>>>
> >>>>
> >>>> I've taken some thread dumps in the solr server and most of the time
> the
> >>>> threads seem to be busy in the following stacks mostly:
> >>>> Is there anything that can be done to improve the performance? Is it a
> >>>> known issue? Its very surprising that querying for some just rows
> starting
> >>>> at some points is taking in order of minutes.
> >>>>
> >>>>
> >>>> "395883378@qtp-162198005-7" prio=10 tid=0x00007f4aa0636000 nid=0x295a
> >>>> runnable [0x00007f42865dd000]
> >>>>    java.lang.Thread.State: RUNNABLE
> >>>>         at org.apache.lucene.util.**PriorityQueue.downHeap(**
> >>>> PriorityQueue.java:252)
> >>>>         at org.apache.lucene.util.**PriorityQueue.pop(**
> >>>> PriorityQueue.java:184)
> >>>>         at org.apache.lucene.search.**TopDocsCollector.**
> >>>> populateResults(**TopDocsCollector.java:61)
> >>>>         at org.apache.lucene.search.**TopDocsCollector.topDocs(**
> >>>> TopDocsCollector.java:156)
> >>>>         at
> org.apache.solr.search.**SolrIndexSearcher.**getDocListNC(**
> >>>> SolrIndexSearcher.java:1499)
> >>>>         at org.apache.solr.search.**SolrIndexSearcher.getDocListC(**
> >>>> SolrIndexSearcher.java:1366)
> >>>>         at org.apache.solr.search.**SolrIndexSearcher.search(**
> >>>> SolrIndexSearcher.java:457)
> >>>>         at org.apache.solr.handler.**component.QueryComponent.**
> >>>> process(QueryComponent.java:**410)
> >>>>         at org.apache.solr.handler.**component.SearchHandler.**
> >>>> handleRequestBody(**SearchHandler.java:208)
> >>>>         at
> org.apache.solr.handler.**RequestHandlerBase.**handleRequest(
> >>>> **RequestHandlerBase.java:135)
> >>>>         at org.apache.solr.core.SolrCore.**execute(SolrCore.java:1817)
> >>>>         at org.apache.solr.servlet.**SolrDispatchFilter.execute(**
> >>>> SolrDispatchFilter.java:639)
> >>>>         at org.apache.solr.servlet.**SolrDispatchFilter.doFilter(**
> >>>> SolrDispatchFilter.java:345)
> >>>>         at org.apache.solr.servlet.**SolrDispatchFilter.doFilter(**
> >>>> SolrDispatchFilter.java:141)
> >>>>
> >>>>
> >>>> "1154127582@qtp-162198005-3" prio=10 tid=0x00007f4aa0613800
> nid=0x2956
> >>>> runnable [0x00007f42869e1000]
> >>>>    java.lang.Thread.State: RUNNABLE
> >>>>         at org.apache.lucene.util.**PriorityQueue.downHeap(**
> >>>> PriorityQueue.java:252)
> >>>>         at org.apache.lucene.util.**PriorityQueue.updateTop(**
> >>>> PriorityQueue.java:210)
> >>>>         at org.apache.lucene.search.**TopScoreDocCollector$**
> >>>> InOrderTopScoreDocCollector.**collect(TopScoreDocCollector.**java:62)
> >>>>         at org.apache.lucene.search.**Scorer.score(Scorer.java:64)
> >>>>         at org.apache.lucene.search.**IndexSearcher.search(**
> >>>> IndexSearcher.java:605)
> >>>>         at org.apache.lucene.search.**IndexSearcher.search(**
> >>>> IndexSearcher.java:297)
> >>>>         at
> org.apache.solr.search.**SolrIndexSearcher.**getDocListNC(**
> >>>> SolrIndexSearcher.java:1491)
> >>>>         at org.apache.solr.search.**SolrIndexSearcher.getDocListC(**
> >>>> SolrIndexSearcher.java:1366)
> >>>>         at org.apache.solr.search.**SolrIndexSearcher.search(**
> >>>> SolrIndexSearcher.java:457)
> >>>>         at org.apache.solr.handler.**component.QueryComponent.**
> >>>> process(QueryComponent.java:**410)
> >>>>         at org.apache.solr.handler.**component.SearchHandler.**
> >>>> handleRequestBody(**SearchHandler.java:208)
> >>>>         at
> org.apache.solr.handler.**RequestHandlerBase.**handleRequest(
> >>>> **RequestHandlerBase.java:135)
> >>>>         at org.apache.solr.core.SolrCore.**execute(SolrCore.java:1817)
> >>>>         at org.apache.solr.servlet.**SolrDispatchFilter.execute(**
> >>>> SolrDispatchFilter.java:639)
> >>>>         at org.apache.solr.servlet.**SolrDispatchFilter.doFilter(**
> >>>> SolrDispatchFilter.java:345)
> >>>>         at org.apache.solr.servlet.**SolrDispatchFilter.doFilter(**
> >>>> SolrDispatchFilter.java:141)
> >>>>
> >>>>
> >>>> --
> >>>> ---------
> >>>> Cheers,
> >>>> Abhishek
> >>>>
> >>>>
> >>
> >> --
> >> ---------
> >> Cheers,
> >> Abhishek
> >>
> >>
>

Reply via email to