You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Zbyszek B (JIRA)" <ji...@apache.org> on 2018/01/19 21:07:00 UTC

[jira] [Created] (IGNITE-7482) Cursor in TextQuery fetches all data in first call to next() or hasNext()

Zbyszek B created IGNITE-7482:
---------------------------------

             Summary: Cursor in TextQuery fetches all data in first call to next() or hasNext()
                 Key: IGNITE-7482
                 URL: https://issues.apache.org/jira/browse/IGNITE-7482
             Project: Ignite
          Issue Type: Improvement
          Components: general
    Affects Versions: 2.3
            Reporter: Zbyszek B


In org.apache.ignite.internal.processors.query.h2.opt.GridLuceneIndex#query 
in line 285 one executes query 
docs = searcher.search(query, Integer.MAX_VALUE)  what causes all data to be fetched and deserialised regardless the size of the cursor.
TopDocs searchAfter(final ScoreDoc after, Query query, int numHits) is not used to implement cursor advancing. This causes the issues with 10 mln. entities  when (depending 
on term) execution takes way above 7 sec. to retrieve first row, hence making this impossible to use TextQuery to implement auto-complete.

See [http://apache-ignite-users.70518.x6.nabble.com/Cursor-in-TextQuery-first-hasNex-is-slow-td19265.html] for more details.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)