Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.14.0
-
None
-
None
Description
We create nodes synchronously to create Solr indexes, but paging queries in a directory with 150,000 nodes are particularly slow.the sql like this:
String sql = "select [jcr:path], [jcr:primaryType],[rep:facet(jcr:primaryType)], [jcr:created], [jcr:createdBy], s_object_name, da_title, da_undeclare_record_num, da_record_num, da_officer, s_modify_date, s_md5, s_content_size,da_record_manager from [oak:Unstructured] where contains([jcr:primaryType],'oak:Unstructured OR da_document OR da_record OR da_dept_folder OR da_folder') and ISCHILDNODE([/test])";
Our test results are as follows: currently there are 180,000 nodes in a directory
1. When the paging query is 0-50 queries five times, the speed is as follows: 637ms, 63ms, 91ms, 783ms, 28ms. This speed is acceptable.
2. When the paging query is 50 000-500 50 queries five times, the speed is as follows: 179,000 ms, 162,836 ms, 161,049 ms, 164,220 Ms. It's very slow. Oak seems to find 50,000 records iteratively.
Is there any way to solve this performance problem? Is it okay to use the Solr paging query syntax directly?