Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-7699

Apply graph articulation points optimization to phrase graph queries

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.5
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New
    • Flags:
      Patch

      Description

      Follow-up to LUCENE-7638 that applies the same articulation point logic to graph phrases using span queries.

      1. LUCENE-7699.patch
        12 kB
        Matt Weber
      2. LUCENE-7699.patch
        6 kB
        Matt Weber

        Activity

        Hide
        mattweber Matt Weber added a comment -

        WIP

        Show
        mattweber Matt Weber added a comment - WIP
        Hide
        mattweber Matt Weber added a comment -

        Jim Ferenczi Michael McCandless What do you think?

        Show
        mattweber Matt Weber added a comment - Jim Ferenczi Michael McCandless What do you think?
        Hide
        jim.ferenczi Jim Ferenczi added a comment -

        It looks good Matt Weber
        In analyzeGraphPhrase you check getAutoGenerateMultiTermSynonymsPhraseQuery when a side path is built. Is it intended ? I don't understand what the non-quoted query built by createSpanQuery is supposed to represent.
        On a different note I also wonder if we should keep the specialized GraphQuery. IMO it's not useful anymore especially if we use span queries for quoted query.

        Show
        jim.ferenczi Jim Ferenczi added a comment - It looks good Matt Weber In analyzeGraphPhrase you check getAutoGenerateMultiTermSynonymsPhraseQuery when a side path is built. Is it intended ? I don't understand what the non-quoted query built by createSpanQuery is supposed to represent. On a different note I also wonder if we should keep the specialized GraphQuery. IMO it's not useful anymore especially if we use span queries for quoted query.
        Hide
        mikemccand Michael McCandless added a comment -

        +1, thanks Matt Weber; this also fixes an adversarial combinatoric explosion case.

        On a different note I also wonder if we should keep the specialized GraphQuery. IMO it's not useful anymore especially if we use span queries for quoted query.

        +1 to phase out GraphQuery, I think: really, the "graph-ness" of the situation should only be a transient thing, that happened during query parsing, and was quickly translated into the equivalent query structure?

        Show
        mikemccand Michael McCandless added a comment - +1, thanks Matt Weber ; this also fixes an adversarial combinatoric explosion case. On a different note I also wonder if we should keep the specialized GraphQuery. IMO it's not useful anymore especially if we use span queries for quoted query. +1 to phase out GraphQuery , I think: really, the "graph-ness" of the situation should only be a transient thing, that happened during query parsing, and was quickly translated into the equivalent query structure?
        Hide
        mattweber Matt Weber added a comment -

        Jim Ferenczi That check was intended, but as you said, it is essentially pointless. I will remove it. Yes, I think GraphQuery should go as well. It was only needed when we needed to detect the graph to apply minimum should match and phrase slop which is no longer the case. Should that be separate issue?

        Show
        mattweber Matt Weber added a comment - Jim Ferenczi That check was intended, but as you said, it is essentially pointless. I will remove it. Yes, I think GraphQuery should go as well. It was only needed when we needed to detect the graph to apply minimum should match and phrase slop which is no longer the case. Should that be separate issue?
        Hide
        mattweber Matt Weber added a comment -

        Updated patch with fixed tests.

        Show
        mattweber Matt Weber added a comment - Updated patch with fixed tests.
        Hide
        mattweber Matt Weber added a comment -

        Remove GraphQuery in LUCENE-7702.

        Show
        mattweber Matt Weber added a comment - Remove GraphQuery in LUCENE-7702 .
        Hide
        jim.ferenczi Jim Ferenczi added a comment -

        Thanks Matt Weber
        The new patch looks great.
        I'll merge shortly

        Show
        jim.ferenczi Jim Ferenczi added a comment - Thanks Matt Weber The new patch looks great. I'll merge shortly
        Hide
        lujia35 Luke added a comment -

        ?

        Show
        lujia35 Luke added a comment - ?
        Hide
        jira-bot ASF subversion and git services added a comment -

        Commit 96e8f0a0afeb68e2d07ec1dda362894f0b94333d in lucene-solr's branch refs/heads/master from Jim Ferenczi
        [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=96e8f0a ]

        LUCENE-7699: Query parsers now use span queries to produce more efficient phrase queries for multi-token synonyms.

        Show
        jira-bot ASF subversion and git services added a comment - Commit 96e8f0a0afeb68e2d07ec1dda362894f0b94333d in lucene-solr's branch refs/heads/master from Jim Ferenczi [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=96e8f0a ] LUCENE-7699 : Query parsers now use span queries to produce more efficient phrase queries for multi-token synonyms.
        Hide
        jira-bot ASF subversion and git services added a comment -

        Commit 43317a33f5d782d982d562df23ffbcdfb8820204 in lucene-solr's branch refs/heads/branch_6x from Jim Ferenczi
        [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=43317a3 ]

        LUCENE-7699: Query parsers now use span queries to produce more efficient phrase queries for multi-token synonyms.

        Show
        jira-bot ASF subversion and git services added a comment - Commit 43317a33f5d782d982d562df23ffbcdfb8820204 in lucene-solr's branch refs/heads/branch_6x from Jim Ferenczi [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=43317a3 ] LUCENE-7699 : Query parsers now use span queries to produce more efficient phrase queries for multi-token synonyms.
        Hide
        jim.ferenczi Jim Ferenczi added a comment -

        Thanks Matt Weber !

        Show
        jim.ferenczi Jim Ferenczi added a comment - Thanks Matt Weber !
        Hide
        mattweber Matt Weber added a comment -

        Thanks Jim Ferenczi. I this going to make it into 6.4.2 or wait until 6.5?

        Show
        mattweber Matt Weber added a comment - Thanks Jim Ferenczi . I this going to make it into 6.4.2 or wait until 6.5?
        Hide
        jim.ferenczi Jim Ferenczi added a comment -

        Only 6.5 since the articulation points parsing is a breaking change (at least for boolean queries).

        Show
        jim.ferenczi Jim Ferenczi added a comment - Only 6.5 since the articulation points parsing is a breaking change (at least for boolean queries).
        Hide
        mattweber Matt Weber added a comment -

        Thanks Jim Ferenczi!

        Show
        mattweber Matt Weber added a comment - Thanks Jim Ferenczi !
        Hide
        ehatcher Erik Hatcher added a comment -

        re-opening to add fix version

        Show
        ehatcher Erik Hatcher added a comment - re-opening to add fix version

          People

          • Assignee:
            jim.ferenczi Jim Ferenczi
            Reporter:
            mattweber Matt Weber
          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development