[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810937#comment-16810937 ] ASF subversion and git services commented on LUCENE-8701: - Commit 1fc215ac53f1f8b8d7ee3d8c8b0ae55dfaf29bf3 in lucene-solr's branch refs/heads/branch_8x from Jim Ferenczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=1fc215a ] LUCENE-8701: force the score mode of the child weight to COMPLETE if the score is required > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Fix For: 8.1, master (9.0) > > Attachments: LUCENE-8701.patch, LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810921#comment-16810921 ] ASF subversion and git services commented on LUCENE-8701: - Commit b8829480f80174dfc99cfa26f466ac4388b8502c in lucene-solr's branch refs/heads/master from Jim Ferenczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=b882948 ] LUCENE-8701: remove unused import > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Fix For: 8.1, master (9.0) > > Attachments: LUCENE-8701.patch, LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810919#comment-16810919 ] ASF subversion and git services commented on LUCENE-8701: - Commit 04c33c77bf87957156105bc387e0541f0342e471 in lucene-solr's branch refs/heads/master from Jim Ferenczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=04c33c7 ] LUCENE-8701: force the score mode of the child weight to COMPLETE if the score is required > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Fix For: 8.1, master (9.0) > > Attachments: LUCENE-8701.patch, LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810918#comment-16810918 ] ASF subversion and git services commented on LUCENE-8701: - Commit 926de465ee6cdfdca7dcf033b6975550c9fc4e43 in lucene-solr's branch refs/heads/master from Jim Ferenczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=926de46 ] LUCENE-8701: force the score mode of the child weight to COMPLETE if the score is required > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Fix For: 8.1, master (9.0) > > Attachments: LUCENE-8701.patch, LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810842#comment-16810842 ] ASF subversion and git services commented on LUCENE-8701: - Commit 9056dc78ded165710d398627e5b0035367c2ed37 in lucene-solr's branch refs/heads/branch_8x from Jim Ferenczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=9056dc7 ] LUCENE-8701: ToParentBlockJoinQuery now creates a child scorer that disallows skipping over non-competitive documents if the score of a parent depends on the score of multiple children (avg, max, min). Additionally the score mode `none` that assigns a constant score to each parent can early terminate top scores's collection. > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8701.patch, LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810823#comment-16810823 ] ASF subversion and git services commented on LUCENE-8701: - Commit 4b0c36b17b6253e0aad36deda5cbf87c44084ec5 in lucene-solr's branch refs/heads/master from Jim Ferenczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=4b0c36b ] LUCENE-8701: ToParentBlockJoinQuery now creates a child scorer that disallows skipping over non-competitive documents if the score of a parent depends on the score of multiple children (avg, max, min). Additionally the score mode `none` that assigns a constant score to each parent can early terminate top scores's collection. > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8701.patch, LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810659#comment-16810659 ] Adrien Grand commented on LUCENE-8701: -- +1 it looks good. Maybe we should call searcher#rewrite after wrapping in a ConstantScoreQuery to be more future-proof, if we ever add checks in ConstancScoreQuery#createWeight that eg. the wrapped query is not a ConstantScoreQuery or a BoostQuery. > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8701.patch, LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8701) Speed up ToParentBlockJoinQuery when total hit count is not needed
[ https://issues.apache.org/jira/browse/LUCENE-8701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16772231#comment-16772231 ] Adrien Grand commented on LUCENE-8701: -- +1 I think some more comments could make it easier to read. Could create the child weight with ScoreMode.COMPLETE_NO_SCORES when childScoreMode is None regardless of the scoreMode that is passed to createWeight? > Speed up ToParentBlockJoinQuery when total hit count is not needed > -- > > Key: LUCENE-8701 > URL: https://issues.apache.org/jira/browse/LUCENE-8701 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8701.patch > > > We spotted a regression on nested queries in the Elastisearch nightly track: > https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d > It seems related to the fact that we propagate the TOP_SCORES score mode to > the child query even though we don't compute a max score in the > BlockJoinScorer and don't propagate the minimum score either. Since it is not > possible to compute a max score for a document that depends on other > documents (the children) we should probably force the score mode to COMPLETE > to build the child scorer. This should avoid the overhead of loading and > reading the impacts. It should also be possible to early terminate queries > that use the ScoreMode.None mode since in this case the score of each parent > document is the same. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org