Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-24294

Search Not working correctly after decoupling from Persistence

    Details

      Description

      Since Search functionality was decoupled from Persistence, that it has stopped working correctly. This comes as a regression of the functionality tested at EZP-23403, which worked before.
      Steps to reproduce (ids are for reference only):

      1. Install an independent Solr setup according to the steps on the attached file solrConf.v3.md;

      2. Access legacy admin and go to Content Structure;

      3. Create the following content structure inside "Home":

      TREE        | LOCATION ID |
      FolderA     | 83          |
      » FolderB   | 83/84       | 
      »» FolderB1 | 83/84/86    |
      FolderC     | 85          |
      

      3. Go now to Users;

      4. Create the following user group structure inside user groups root:

      TREE             | CONTENT ID | LOCATION ID |
      User Group A     | 79         | 87          |
      » User Group B   | 79/80      | 87/88       |
      »» User Group B1 | 79/80/81   | 87/88/89    |
      User Group C     | 82         | 90          |
      

      5. Index all created content on Solr;

      TESTING CONTENT:

      6. Using public API or whatever method, move content at location 84 (FolderB) into location 85 (FolderC);

      7. Use Search for finding contents based on Subtree criterion (using as criterion the subtree of location root 83, FolderA, now empty inside).
      Only content of location id 83 itself, FolderA, should be found now, but it won't. FolderB and FolderB1 will still be returned as search results as well.

      8. Use search for finding contents based on Subtree criterion (using as criterion the subtree of location root 85, FolderC, now with the other contents nested in it).
      Both contents of location ids 84 and 86 (FolderB and FolderB1) should be returned, but they won't.

      TESTING USER GROUPS:

      9. Using public API or whatever method, move user group at location 80 (User Group B) into location 82 (User Group C);

      10. Use Search for finding contents based on Subtree criterion (using as criterion the subtree of location root 87, User Group A, now empty inside).
      Only User Group of location id 87 itself, User Group A, should be found now, but it won't. User Group B and User Group B1 will still be returned as search results as well.

      11. Use search for finding contents based on Subtree criterion (using as criterion the subtree of location root 90, User Group C, now with the other User Groups nested in it).
      Both User Groups of location ids 88 and 89 (User Group B and User Group B1) should be returned, but they won't.

      Use the attached bundle for testing, if needed.
      Usage examples:

      Access:
      http://<your_virtual_host>/ezp23403move/location/84/85
      moves content at location 84 into location 85.

      Access:
      http://<your_virtual_host>/ezp23403find/location/83
      returns contents found on subtree of location id 83

        Issue Links

          Activity

          Rui Silva (Inactive) created issue -
          Rui Silva (Inactive) made changes -
          Field Original Value New Value
          Link This issue discovered while testing EZP-23403 [ EZP-23403 ]
          Rui Silva (Inactive) made changes -
          Status Open [ 1 ] Confirmed [ 10037 ]
          Rui Silva (Inactive) made changes -
          Description Since Search functionality was decoupled from Persistence, that it has stopped working correctly.
          Steps to reproduce (ids are for reference only):

          1. Install an independent Solr setup according to the steps on the attached file solrConf.v3.md;

          2. Access legacy admin and go to Content Structure;

          3. Create the following content structure inside "Home":
          {noformat}
          TREE | LOCATION ID |
          FolderA | 83 |
          » FolderB | 83/84 |
          »» FolderB1 | 83/84/86 |
          FolderC | 85 |
          {noformat}

          3. Go now to Users;

          4. Create the following user group structure inside user groups root:
          {noformat}
          TREE | CONTENT ID | LOCATION ID |
          User Group A | 79 | 87 |
          » User Group B | 79/80 | 87/88 |
          »» User Group B1 | 79/80/81 | 87/88/89 |
          User Group C | 82 | 90 |
          {noformat}

          5. Index all created content on Solr;

          TESTING CONTENT:

          6. Using public API or whatever method, move content at location 84 (FolderB) into location 85 (FolderC);

          7. Use Search for finding contents based on Subtree criterion (using as criterion the subtree of location root 83, FolderA, now empty inside).
          Only content of location id 83 itself, FolderA, should be found now, but it won't. FolderB and FolderB1 will still be returned as search results as well.

          8. Use search for finding contents based on Subtree criterion (using as criterion the subtree of location root 85, FolderC, now with the other contents nested in it).
          Both contents of location ids 84 and 86 (FolderB and FolderB1) should be returned, but they won't.

          TESTING USER GROUPS:

          9. Using public API or whatever method, move user group at location 80 (User Group B) into location 82 (User Group C);

          10. Use Search for finding contents based on Subtree criterion (using as criterion the subtree of location root 87, User Group A, now empty inside).
          Only User Group of location id 87 itself, User Group A, should be found now, but it won't. User Group B and User Group B1 will still be returned as search results as well.

          11. Use search for finding contents based on Subtree criterion (using as criterion the subtree of location root 90, User Group C, now with the other User Groups nested in it).
          Both User Groups of location ids 88 and 89 (User Group B and User Group B1) should be returned, but they won't.


          Use the attached bundle for testing, if needed.
          Usage examples:

          {quote}
          Access:
          http://&lt;your_virtual_host&gt;/ezp23403move/location/84/85
          moves content at location 84 into location 85.

          Access:
          http://&lt;your_virtual_host&gt;/ezp23403find/location/83
          returns contents found on subtree of location id 83
          {quote}
          Since Search functionality was decoupled from Persistence, that it has stopped working correctly. This comes as a regression of the functionality tested at EZP-23403, which worked before.
          Steps to reproduce (ids are for reference only):

          1. Install an independent Solr setup according to the steps on the attached file solrConf.v3.md;

          2. Access legacy admin and go to Content Structure;

          3. Create the following content structure inside "Home":
          {noformat}
          TREE | LOCATION ID |
          FolderA | 83 |
          » FolderB | 83/84 |
          »» FolderB1 | 83/84/86 |
          FolderC | 85 |
          {noformat}

          3. Go now to Users;

          4. Create the following user group structure inside user groups root:
          {noformat}
          TREE | CONTENT ID | LOCATION ID |
          User Group A | 79 | 87 |
          » User Group B | 79/80 | 87/88 |
          »» User Group B1 | 79/80/81 | 87/88/89 |
          User Group C | 82 | 90 |
          {noformat}

          5. Index all created content on Solr;

          TESTING CONTENT:

          6. Using public API or whatever method, move content at location 84 (FolderB) into location 85 (FolderC);

          7. Use Search for finding contents based on Subtree criterion (using as criterion the subtree of location root 83, FolderA, now empty inside).
          Only content of location id 83 itself, FolderA, should be found now, but it won't. FolderB and FolderB1 will still be returned as search results as well.

          8. Use search for finding contents based on Subtree criterion (using as criterion the subtree of location root 85, FolderC, now with the other contents nested in it).
          Both contents of location ids 84 and 86 (FolderB and FolderB1) should be returned, but they won't.

          TESTING USER GROUPS:

          9. Using public API or whatever method, move user group at location 80 (User Group B) into location 82 (User Group C);

          10. Use Search for finding contents based on Subtree criterion (using as criterion the subtree of location root 87, User Group A, now empty inside).
          Only User Group of location id 87 itself, User Group A, should be found now, but it won't. User Group B and User Group B1 will still be returned as search results as well.

          11. Use search for finding contents based on Subtree criterion (using as criterion the subtree of location root 90, User Group C, now with the other User Groups nested in it).
          Both User Groups of location ids 88 and 89 (User Group B and User Group B1) should be returned, but they won't.


          Use the attached bundle for testing, if needed.
          Usage examples:

          {quote}
          Access:
          http://&lt;your_virtual_host&gt;/ezp23403move/location/84/85
          moves content at location 84 into location 85.

          Access:
          http://&lt;your_virtual_host&gt;/ezp23403find/location/83
          returns contents found on subtree of location id 83
          {quote}
          Rui Silva (Inactive) made changes -
          Attachment solrConf.v3.md [ 19415 ]
          Rui Silva (Inactive) made changes -
          Attachment Ezp23403Bundle.zip [ 19416 ]
          André Rømcke made changes -
          Workflow eZ Engineering Scrumban Workflow [ 67255 ] EZ* Development Workflow [ 70333 ]
          André Rømcke made changes -
          Fix Version/s 5.4.4 [ 14380 ]
          André Rømcke made changes -
          Status Confirmed [ 10037 ] InputQ [ 10001 ]
          André Rømcke made changes -
          Rank Ranked lower
          André Rømcke made changes -
          Assignee Petar Spanja [ petar.spanja@ez.no ]
          Bertrand Dunogier made changes -
          Fix Version/s 5.4.5 [ 14381 ]
          Fix Version/s 5.4.4 [ 14380 ]
          Petar Spanja (Inactive) made changes -
          Status InputQ [ 10001 ] Development [ 3 ]
          Petar Spanja (Inactive) made changes -
          Status Development [ 3 ] Development Review done [ 10028 ]
          Assignee Petar Spanja [ petar.spanja@ez.no ]
          Petar Spanja (Inactive) made changes -
          Status Development Review done [ 10028 ] Documentation Review done [ 10011 ]
          Rui Silva (Inactive) made changes -
          Status Documentation Review done [ 10011 ] QA [ 10008 ]
          Rui Silva (Inactive) made changes -
          Status QA [ 10008 ] Specification done [ 10003 ]
          Assignee Rui Silva [ rui.silva@ez.no ]
          André Rømcke made changes -
          Assignee Petar Spanja [ petar.spanja@ez.no ]
          Rui Silva (Inactive) made changes -
          Attachment PetarBundle.tar.gz [ 25609 ]
          Petar Spanja (Inactive) made changes -
          Status Specification done [ 10003 ] Development [ 3 ]
          Petar Spanja (Inactive) made changes -
          Status Development [ 3 ] Development Review [ 10006 ]
          Petar Spanja (Inactive) made changes -
          Fix Version/s 2015.09.2 [ 14487 ]
          Petar Spanja (Inactive) made changes -
          Status Development Review [ 10006 ] Documentation Review done [ 10011 ]
          Assignee Petar Spanja [ petar.spanja@ez.no ]
          Petar Spanja (Inactive) made changes -
          Fix Version/s 2015.09.2 [ 14487 ]
          Petar Spanja (Inactive) made changes -
          Fix Version/s 2015.09 [ 14480 ]
          Petar Spanja (Inactive) made changes -
          Remaining Estimate 0 minutes [ 0 ]
          Time Spent 1 hour [ 3600 ]
          Worklog Id 57287 [ 57287 ]
          Petar Spanja (Inactive) made changes -
          Time Spent 1 hour [ 3600 ] 2 hours, 45 minutes [ 9900 ]
          Worklog Id 57288 [ 57288 ]
          Rui Silva (Inactive) made changes -
          Status Documentation Review done [ 10011 ] QA [ 10008 ]
          Rui Silva (Inactive) made changes -
          Assignee Rui Silva [ rui.silva@ez.no ]
          Status QA [ 10008 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Petar Spanja (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Petar Spanja (Inactive) made changes -
          Time Spent 2 hours, 45 minutes [ 9900 ] 3 hours, 45 minutes [ 13500 ]
          Worklog Id 57617 [ 57617 ]
          Petar Spanja (Inactive) made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Petar Spanja (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Petar Spanja (Inactive) made changes -
          Time Spent 3 hours, 45 minutes [ 13500 ] 5 hours, 30 minutes [ 19800 ]
          Worklog Id 57618 [ 57618 ]
          Petar Spanja (Inactive) made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Petar Spanja (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Petar Spanja (Inactive) made changes -
          Worklog Id 57618 [ 57618 ]
          Petar Spanja (Inactive) made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Petar Spanja (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Petar Spanja (Inactive) made changes -
          Time Spent 5 hours, 30 minutes [ 19800 ] 5 hours, 40 minutes [ 20400 ]
          Worklog Id 57619 [ 57619 ]
          Petar Spanja (Inactive) made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Alex Schuster made changes -
          Workflow EZ* Development Workflow [ 70333 ] EZEE Development Workflow [ 124752 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Rui Silva (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 5 hours, 40 minutes
                5h 40m