[jira] [Resolved] (SOLR-1880) Performance: Distributed Search should skip GET_FIELDS stage if EXECUTE_QUERY stage gets all fields
[ https://issues.apache.org/jira/browse/SOLR-1880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Erick Erickson resolved SOLR-1880. -- Resolution: Won't Fix 2013 Old JIRA cleanup > Performance: Distributed Search should skip GET_FIELDS stage if EXECUTE_QUERY > stage gets all fields > --- > > Key: SOLR-1880 > URL: https://issues.apache.org/jira/browse/SOLR-1880 > Project: Solr > Issue Type: Improvement > Components: search >Affects Versions: 1.4 >Reporter: Shawn Smith > Attachments: ASF.LICENSE.NOT.GRANTED--one-pass-query-v1.4.0.patch, > ASF.LICENSE.NOT.GRANTED--one-pass-query.patch > > > Right now, a typical distributed search using QueryComponent makes two HTTP > requests to each shard: > # STAGE_EXECUTE_QUERY executes one HTTP request to each shard to get top N > ids and sort keys, merges the results to produce a final list of document IDs > (PURPOSE_GET_TOP_IDS). > # STAGE_GET_FIELDS executes a second HTTP request to each shard to get the > document field values for the final list of document IDs (PURPOSE_GET_FIELDS). > If the "fl" param is just "id" or just "id,score", all document data to > return is already fetched by STAGE_EXECUTE_QUERY. The second > STAGE_GET_FIELDS query is completely unnecessary. Eliminating that 2nd HTTP > request can make a big difference in overall performance. > Also, the "fl" param only gets id, score and sort columns, it would probably > be cheaper to fetch the final sort column data in STAGE_EXECUTE_QUERY which > has to read the sort column data anyway, and skip STAGE_GET_FIELDS. -- This message was sent by Atlassian JIRA (v6.1#6144) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Resolved] (SOLR-1880) Performance: Distributed Search should skip GET_FIELDS stage if EXECUTE_QUERY stage gets all fields
[ https://issues.apache.org/jira/browse/SOLR-1880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shalin Shekhar Mangar resolved SOLR-1880. - Resolution: Fixed Fix Version/s: 5.0 4.8 Thanks Shawn and Vitaliy! I opened SOLR-5768 for another related improvement suggested by Yonik on the solr-user list. > Performance: Distributed Search should skip GET_FIELDS stage if EXECUTE_QUERY > stage gets all fields > --- > > Key: SOLR-1880 > URL: https://issues.apache.org/jira/browse/SOLR-1880 > Project: Solr > Issue Type: Improvement > Components: search >Affects Versions: 1.4 >Reporter: Shawn Smith >Assignee: Shalin Shekhar Mangar > Fix For: 4.8, 5.0 > > Attachments: ASF.LICENSE.NOT.GRANTED--one-pass-query-v1.4.0.patch, > ASF.LICENSE.NOT.GRANTED--one-pass-query.patch, SOLR-1880.patch, > SOLR-1880.patch > > > Right now, a typical distributed search using QueryComponent makes two HTTP > requests to each shard: > # STAGE_EXECUTE_QUERY executes one HTTP request to each shard to get top N > ids and sort keys, merges the results to produce a final list of document IDs > (PURPOSE_GET_TOP_IDS). > # STAGE_GET_FIELDS executes a second HTTP request to each shard to get the > document field values for the final list of document IDs (PURPOSE_GET_FIELDS). > If the "fl" param is just "id" or just "id,score", all document data to > return is already fetched by STAGE_EXECUTE_QUERY. The second > STAGE_GET_FIELDS query is completely unnecessary. Eliminating that 2nd HTTP > request can make a big difference in overall performance. > Also, the "fl" param only gets id, score and sort columns, it would probably > be cheaper to fetch the final sort column data in STAGE_EXECUTE_QUERY which > has to read the sort column data anyway, and skip STAGE_GET_FIELDS. -- This message was sent by Atlassian JIRA (v6.1.5#6160) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org