You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Michael Gibney (Jira)" <ji...@apache.org> on 2023/05/01 11:56:00 UTC

[jira] [Commented] (SOLR-16758) GraphQuery Performing Slower in Solr 9

    [ https://issues.apache.org/jira/browse/SOLR-16758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17718205#comment-17718205 ] 

Michael Gibney commented on SOLR-16758:
---------------------------------------

Thanks, it's great to have the patch to work from! Simply running {{testGraphQueryPerformance()}} within a test context (i.e., I haven't transposed this to a separate local instance), I'm not seeing any performance difference between the patched code and the baseline. I've also looked pretty closely at the code, and fwiw I really don't see that many substantial differences. I tweaked the test a couple of ways: one by replacing the core reload with local param {{cache=false}} (which should have the same effect wrt testing actual query performance, as opposed to caching, without incurring the extra overhead of a full core reload), and one by replacing the sort param with {{rows=0}}, to hopefully avoid the need to sort. Comparable performance for all. 

333ms patch vs. 332ms baseline (core reload)
98ms patch vs. 95ms baseline (cache=false)
72ms patch vs. 72ms baseline (rows=0)

A couple of questions: is this actually the example query you're running that's slower? I note that in the test case the result you get back is identical to {{\*:\*}}, which seems unusual for a "real-world" query.

Also, is the index you're running this against a single segment (i.e., "optimized"), by any chance? I only ask because as I mentioned, in looking at the code there seem to be precious few substantive differences, but one such difference (albeit seemingly minor) would be the DocIdSetIterator class returned in the event of a single-segment index.

> GraphQuery Performing Slower in Solr 9
> --------------------------------------
>
>                 Key: SOLR-16758
>                 URL: https://issues.apache.org/jira/browse/SOLR-16758
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Kira Traynor
>            Priority: Major
>         Attachments: GraphQuery.patch
>
>
> We found that the changes made in SOLR-14185 with the GraphQuery slowed down the performance of the graph join by around 50%. Reverting the changes made in that pr to use a `Filter` object to get the `DocIdSet` rather than using a `DocIdSetIterator`, sped the query times up in our tests to be more similar to what we were seeing with the Solr 8 graph joins.
> The same change was made to the JoinQuery class so possibly slower performance can be found there as well.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org