I'm not completely sure, haven't looked into this in detail (and also don't know this module that well), but it seems you're currently not checking whether the search server supports the search_api_facets feature before allowing the configuration of facets. (In D7, there was also search_api_facets_operator_or needed for creating "OR" facets.) It's only checked when altering the query – which is of coruse better than nothing, but a bit late.
Also, this module should somewhere define those features (or "that feature", if you want to make "OR" support mandatory), so implementing backends know what they're supposed to do. See the D7 code for an example/blueprint. You can, of course, also renamed the feature to just "facets", based on the new project name and code location – that's up to you. It's just that backend features should be properly defined somewhere – otherwise it becomes guesswork.
Tasks
Tasks we need to do to fix this issue completely:
| Comment | File | Size | Author |
|---|---|---|---|
| #170 | search_api_integration-2772745-169.patch | 74.69 KB | borisson_ |
| #142 | search_api_integration-2772745-142.patch | 70.02 KB | borisson_ |
| #129 | interdiff-107-129.txt | 1.1 KB | dermario |
| #129 | search_api_integration-2772745-129.patch | 66.78 KB | dermario |
| #126 | search_api_integration-2772745-126.patch | 59.93 KB | borisson_ |
Comments
Comment #2
borisson_Comment #3
borisson_You're absolutely right. We should do this.
Comment #4
borisson_I'm not sure, but I think we should make support for "or" facets mandatory.
I included some code that should do this.
It's not tested but I think this is the right place to do this?
Comment #5
drunken monkeyYes, that looks quite good. Instead of loading the view, though, you could also just create the search display plugin instance and call
getIndex()on that. But should be fine either way.On a different note, though: I would actually suggest getting completely rid of the disctinction of Views searches, and just have a single Search API facet source plugin (with a deriver creating one definition for every search display). Do you really need the view, etc., information? Can't you just use the search display plugin for everything you need?
If not, then maybe we just have to amend the search display for that, but I thought that was the whole point of the exercise – standardizing on a way for other modules to interact with search displays, no matter what modules provide them.
(Would of course have been better to make these changes to search display plugins before going to Beta, but should still be possible. Will probably just affect Kristof at this point.)
But all of that should probably be a separate issue. And might already be a bit late at this point.
Comment #6
borisson_I think this does what @drunken monkey suggested, let's see what our tests think.
Comment #9
borisson_Comment #12
borisson_Comment #15
borisson_Comment #16
borisson_I think we can do the renames of the plugins in a later followup and see if we can implement the search api pages displays as well. I think otherwise these changes look good. Needs confirmation though.
Comment #17
drunken monkeyWhy still make this view-specific? Seems like it could just be one class plus one deriver for all Search API displays. (Would also, e.g., make the Search Pages' facet source implementation unnecessary.)
Patch with my suggestion attached, will probably break some tests, though.
And, of course, it's your call in the end. I just thought that's what we introduced the Search API display plugins for – abstracting from the different kinds of search displays, so that other modules don't have to care about them.
I would also suggest not sorting the plugins right in the deriver – see #2758321: Clean up deriver code. A lot of code doesn't need them sorted, so you should only sort them when needed. (And, in that case, you probably want to sort all plugins, not just those derived from a specific base.)
Comment #18
drunken monkeyComment #19
drunken monkeyOops, messed up in
calculateDependencies()– should use the display's base and derivative plugin ID, not the facet source's.Anyways, I have a better suggestion: just let the display take care of that. (Would of course need a Search API patch to add that method and interface to the Views displays – but that should be easy. Although I guess there's no way to depend on a specific view display, which is a bit of a problem here.)
Comment #24
borisson_The test fails here are because the base plugin changed from views_page to search_api. I'll do the find/replace later to fix the tests. Thanks for the patch - that looks great. I also think that we can now remove the facetsource plugin from search_api_page when this goes in. That sounds great!
Comment #25
borisson_Changed tests.
Comment #28
borisson_Comment #31
borisson_Looks like fixing the tests wasn't as easy as I expected it to be. I don't have any more time to look at it before sunday - so if anyone else has time to pick this up in the meanwhile - be my guest.
Comment #32
borisson_So, it looks like the tests are failing because we usually equate the search_id to facetsource-id. Because this is no longer the case, this is currently not working. I currently don't know yet how to map the search_id to the facet source id.
Comment #35
borisson_Maybe this works? I also added a processDefinition to the plugin manager so we are sure they have the display_id line in them.
Comment #38
borisson_Reverted #35 since that doesn't seem to help at all.
Comment #41
borisson_Patch no longer applied, reroll attached
Comment #44
borisson_Comment #47
borisson_Comment #50
borisson_Comment #53
borisson_Rerolled.
Comment #55
borisson_Comment #57
borisson_The reason why the core search tests are failing is because it looks like an invalid plugin is being created for the search api plugins. I don't understand why though.
Maybe we should remove the ::processDefinition in the plugin manager? That's not a solution though, that's just removing the hard fail.
Anyway, that's enough for the day.
Comment #58
borisson_Since I was ill over the last week I haven't had a lot of time to work on this. At least not as much as I wanted.
Anyway, attached is what I did today, this should fix the unit tests and on my local machine it looks like the core search tests are fixed now as well.
Comment #60
borisson_Fixes rest test in the wrong way.
Comment #63
borisson_The double checkout here is not working, so it looks like the changes I did in the QueryString Url processor broke things in fun ways. The tests don't seem to break when ran not in a subfolder.
Comment #65
borisson_I had some time to work on this on the plane over to iron camp. The rest test is green now, as well as all the unit tests. Hopefully there will be no other fails.
This also reduced complexity in a couple of places by a little bit.
Comment #66
borisson_Setting to needs review for the testbot.
Comment #68
borisson_UrlIntegrationTest is now green locally. The entire patch green by now?
Comment #69
borisson_So the patch is green - all this needs is a review.
Comment #70
drunken monkeyI'm not an expert on Facets, but the changes look good to me in general.
However, unless I'm mistaken, you're missing one half of the issue title – I don't see a definition of the
search_api_facetsfeature anywhere. Would be great if you could add that toREADME.txt, maybe along with an example service class documenting the exact structure – just see the Drupal 7 version [1][2].Also, regarding
calculateDependencies(), I'd recommend at least adding the index as a dependency if the display plugin doesn't define its own dependencies. (I know, that code is my own, but still.) But will also depend on the solution to #2831436: Add dependency information to display plugins, which I've now created – if that addsDependentPluginInterfacedirectly to theDisplayPluginInterface, then this should always work, and you can even get rid of theif.Comment #71
borisson_This needs an upgrade path (just to help people already building on this).
Comment #72
borisson_Patch no longer applies and I screwed up my local branch. Needs a reroll.
Comment #73
borisson_Reroll attached, looking into fixing #70.
Comment #74
borisson_Looks like the patch I made in #73 doesn't work. Updating readme as requested in #70.
Comment #75
borisson_Comment #76
borisson_Comment #77
borisson_Reuploading for testbot.
Comment #79
borisson_Comment #81
christianadamski commentedHey,
just asking: Do you keep in mind that CoreViewsFacets and at least potentially other modules, like your CoreSearchFacets module, do not use Search API and therefor do not depend on it?
I understand that after all Solr is your main focus, but in a perfect world, facets would provide its functionality independently of the underlying data source and handle those in separate handlers, right?
If you want any support in that direction, I am very willing to help.
Comment #82
borisson_@ChristianAdamski:
Yeah, Search API is the main focus. Not Solr specifically but also other search api backands (db, elasticsearch, ...). We try to keep in mind other facet sources can also be provided.
We don't (from memory) have any search api specific code other than in the FacetSource. Nothing in this issues creates a closer coupling with Search API.
If we do have a place where we the coupling is too tight, could you open up a new issue? this issue is already a nightmare and I want to keep the suffering for this specifically as short as possible (even though it looks like I probably won't get to fix this before my vacation between christmas and new years).
Comment #83
borisson_Reroll.
Comment #85
borisson_Comment #87
borisson_Reroll + small changes for new tests.
Comment #88
borisson_go testbot, go!
Comment #90
borisson_I fixed the kernel tests.
Comment #92
borisson_I think all tests are green now.
Comment #93
borisson_Cleanup + comments + small changes. I'm not going to touch this (or commit anything else) until we get reviews in.
Comment #94
drunken monkeyThat's not only unrelated, but also doesn't really get us anything. If it's an empty array, the
foreachwill be a no-op anyways. I'd remove it again – this is just adding lines without use. (Would be another thing if the return value could beFALSE/NULL– but apparently that's not the point of the change.)I'd also call the variable
$facet_source_id(additional underscore), but that's of course even more unrelated. (Also, it's used the other way in lots of other places.)Missing "i" – but also, the whole file wildly mixes snake_case and camelCase for variables, which I'd try to avoid. Your choice, though, I guess.
Just using the derivative ID is of course an idea to avoid the "double colon" problem, but it will necessarily lead to collisions when, e.g., a view and a search page have the same ID. I think you'll have to make sure to deal with duplicates in any case, so you might as well use the whole display ID and just "sanitize" it.
Also, we got rid of the sorting in our derivers in the Search API, since they served no real purpose. I'd suggest doing the same here.
--
Apart from this, I just added more information about the
search_api_facetsfeature toREADME.txt. This should now really suffice as base information for someone who wants to add that to their backend plugin.Also, is the "Needs upgrade path" still valid? Seems there is now an upgrade function.
Comment #95
borisson_Yeah, we've been using facetsource_id in a bunch of places. Keeping that as-is for now.
Yeah, we should go trough everything and fix all those things. Not trying to worry about that in this issue. But I agree that I should try harder to keep style consistent.
I removed the sorting in the derivers, but I'm not sure what you mean with just using the display ID?
That looks great, thanks!
You're right, that "Needs upgrade path" is no longer valid. Thanks!
Comment #96
strykaizerEDIT: quick paste went wrong. The check for instanceof Url, that part of the code in the patch...
Can this be removed? Need to check if getPath can return something else
Comment #97
borisson_This fixes #96 and adds/improves docs a little.
Comment #98
borisson_Docs cleanup. Removed the
strposchecking in the form and usedinstanceofchecks instead.Comment #99
nick_vhPerhaps a description what this update actually is trying to and trying to change (and why) instead of what is literally does would be a good change here.
Not sure if this comment makes a lot of sense. How do you know the searchApiQueryHelper takes it from static cache? If that function ever changes this comment is no longer valid. Maybe better to say if the results have been populated already and if not, we should populate those in here.
I don't get this comment at all. What does this mean and what display do "we" want to load? Why is views_rest and views_page even included here? All I understand is that we get allResults from the searchApiDisplay and get the derivativeId from whatever we have in our hands (object) at that moment. Confused :)
Can we not have multiple items that go into $results? If so, why don't we add a break here so that the foreach loops stops after one assignment to $results.
Why is this even relevant to add?
Missing dot to mark the end of a phrase.
This comment should be repositioned to where the logic actually is residing.
Comment #101
borisson_Thanks for that, I hope the improved comments make it somewhat clearer what's going on here.
Per your request I also took a stab at splitting up the patch into multiple smaller pieces, but I figure the only way to do that is to actually create multiple issues and that split this patch out over those issues. If we don't get consensus over this issue I'll do that on monday to make reviews afterwards easier. For now I'm going to try to figure out .3 here.
The problem happens when there's a facet built on the non-standard display of a view.
So for example there's a view (aaaaa) that has a page-display and rest-display.
I have 1 facet / display.
When I request the page display everything works as it should even without this codeblock. When looking at the rest display though, without that codeblock the facet is empty.
This is because
$this->getDisplay()->getPluginId()isviews_rest:aaaaa__rest_export_1. That's correct.However, there are no results in the searchApiQueryHelper for that id. There are results in the searchApiQueryHelper for views_page:aaaaa__rest_export_1.
So the code there actually just gets
aaaaa__rest_export_1($this->getDisplay()->getDerivativeId();) and checks if any of the results in the result cache have that as part of their plugin id (thestrposcheck). This is a horrible way to do this and very error-prone.I think what's actually going on is that the results get saved with the wrong ID in search api. I'll try figuring out how exactly that is going on.
Comment #102
borisson_About .3: If I change
$this->query->setSearchId('views_page:' . $view->id() . '__' . $view->current_display);to$this->query->setSearchId('views_rest:' . $view->id() . '__' . $view->current_display);in\Drupal\search_api\Plugin\views\query\SearchApiQuery::initto entireif ($results === NULL) {}is no longer needed. This means we either have to override the search ID from the facets or fix this in search api.I think this should be fixed from in search api?
Comment #103
borisson_Not sure if that made sense to do, but I opened up #2839981: Improve search id correctness in views integration in search api. Chasing that for a bit.
Comment #104
borisson_If #2839981: Improve search id correctness in views integration lands, we can simplify a little bit here by removing the part that confused Nick in #99. (See attached patch - this won't pass tests but it IS correct.)
Comment #106
borisson_Comment #107
borisson_The fails in
Drupal\Tests\facets\Functional\UrlIntegrationTestare weird, but fixed by restoring the version of that test from8.x-1.x. The failures inDrupal\Tests\facets\Functional\FacetSourceTestI can't reproduce locally.Expecting 1 failure.
Comment #108
borisson_I have no idea why these tests are failing. They aren't failing on my machine. I'll set up a local drupalci to see why these tests are failing.
Comment #109
borisson_Hah, that was easy to say. I'm giving up on trying to set up drupalci locally for the day. Still no idea how to reproduce those testfailures.
Comment #110
drunken monkeyWhen a search display plugin has the plugin ID
views_page:test__test, you only use thetest__testpart for your facet source plugin ID. That seems dangerous, since you end up with potential conflicts where IDs were previously unique. E.g., if someone creates a search page with IDtest__test– the search display plugin ID would besearch_api_page:test__test, and thus unique, but for your facet sources either the Views page or the search page would get overwritten (since both would get the facet source plugin IDsearch_api:test__test).(Admittedly, this example sounds far-fetched, but with other modules defining search display plugins, this might get more likely – e.g., when two displays (defined by different module) just have
searchas the derivative plugin ID.)I'd therefore recommend using the whole plugin ID (
views_page:test__testandsearch_api_page:test__test), including the base ID, for your facet source derivative IDs, and just sanitizing them to avoid the additional colon (e.g., replace the:with__).I hope this makes it clearer?
No idea about the test fail, sorry. I just thought it might be the Search API version, but seems it correctly downloads Beta 4. (And no other contrib modules seem to get downloaded.)
And, for what it's worth, I also failed at setting up Drupal CI locally (see #2784849-5: Tests fail w/ out of memory error.). Unfortunately, it's not as easy as it should be.
Comment #111
borisson_Comment #112
dermarioI can reproduce the two test fails in #107 on my local vagrant box (CentOS Linux release 7.1.1503). I could have a look at it the upcoming weekend, if that would help.
Comment #113
borisson_@dermario: oh good to know that it's reproducable on centos, I'll try setting up a vagrant box on thursday. Thanks!
Comment #114
vegardjo commentedMorning! Trying both patches #107 and #111 on both facets alpha 7 and dev, with search_api beta 4 gives me the following unexpected error / WSOD:
"search_api_publications" is the machine name of my view here, while "overview" is the machine name of my display. The view only contains this display, which is a block display.
Comment #115
borisson_@vegardjo: oh - that looks like the update hook didn't work as planned? I'll try to fix that as well. Updated IS with todo's
Comment #116
vegardjo commentedOh, sorry, didn't notice there was an update hook there. However, after patching aplha7 with #111 again, and doing the db update, I still get the same error.
Comment #117
borisson_I set up a new drupalvm vagrant box and tried the UrlIntegraionTest and FacetSourceTest again (w/ #107 applied) and I can't get them to fail. This is an ubuntu box though so that might not be it. not sure how easy it is to set up a similar env w/ CentOS. It's too late to do that today so that'll have to be for another day.
Comment #118
sukanya.ramakrishnan commentedThere is a check for whether the source is an instance of SearchApiFacetSourceInterface in ListItemProcessor and this patch is causing a bug that doesnt render fields with allowed_values settings. Submitting a patch for the same!
Thanks,
Sukanya
Comment #119
sukanya.ramakrishnan commentedSorry, missed to remove the unused use statement for SearchApiFacetSourceInterface. Adding a corrected patch and an interdiff for the same.
Comment #121
borisson_Ok, so I tried this again w/ centos yesterday and it took me a while to set up a new box. I didn't see any errors though in the time I had to test this. I'd suggest to go back to #107 for now and let's try to get that one green. Once we manage that we can have a look at #110/ #111.
Since #118 introduces new failures and nothing failed on the tests for that part yet - let's delegate that to a followup? This is issue is big enough as-is.
Unassigning @StryKaizer for now, as a review is not yet needed before we get this green :)
Comment #122
dermario@borisson_ Sorry to hear that the test did not fail. I will investigate in that problem this weekend (when i manage it to pass the xdebug cookie to the test itself).
Comment #123
drunken monkeyPro tip: I just hard-coded that on my local machine:
Had no idea why it didn't work and didn't find it worth my time to debug properly.
Comment #124
borisson_Since I can't reproduce the failure (and I made my laptop crash 3 times with trying to run all the tests on a centos vagrant box and I can't get the testbot to run locally) I'm just guessing right now. This is 107 + a guess
Comment #125
borisson_Comment #126
borisson_Reupload of #107. I still have no idea how to fix these fails.
Comment #128
dermarioSorry for not replying at the weekend, @borisson_ i didn't know that you try to go the CentOS way :-/ BIIG SORRY!!
I also investigated into that issue and somehow i couldn't reproduce it on CentOS any more. So i tried to reactivate some of my older linux machines at home to install a testbot on it. That did not work out as they are 32 Bit and Docker requires 64 Bit. So i set up a local Virtualhost machine and hacked as much as i could to make it running somehow. My Mac even went out of hdd-space. Somehow it works today - running the tests with sudo and hacky frwrites to STDERR inside the tests gave me a hint for the fail in
FacetSourceTest. Please see the attached interdiff.I don't think that this patch is the final solution for one of the fails in #107 but it maybe points us to the right directory. Lets see what the testbot says.
Comment #129
dermarioSorry for the naming - mess. This one should be correct.
Comment #130
borisson_No need to say you're sorry. I'm very grateful for all of the help you've provided here so far. Very curious about what the tests will say about those patches.
Comment #131
dermarioI am pretty sure that the tests in #107 fail due a different sort order of the facet sources on our testbots. On our local machines the sort order is like:
On our testbots it is:
I attached another simple fix to proof my assumption. By applying these patches on our local machine the tests will fail there. So we need to find a failsafe solution for:
Comment #132
borisson_If that's the problem - restoring the
uasortmight help as well. Let's try that?Comment #134
dermarioSeems like the fails are fixed now :-) My local testbot agrees with the changes in #132.
Comment #135
dermarioComment #136
borisson_Woo! Tests are green again. That's awesome. Thanks so much for all your help here @dermario!
So, now we have to decide about #110:
I don't think we have to care about that right now. We can always do the same we did right now (change the ids, provide upgrade path).
I'm going to manually test the upgrade path again tonight so that question should get answered before we can commit this patch (and all the open patches in the queue).
Comment #137
webcultist commentedIt would be great if this patch could be applied soon. Can be very confusing that 2777217 can't be applied without this one.
Comment #138
borisson_I just tested the upgrade path and that works as expected. I'm happy with the current state of this patch. All we need is an "ok, go" from @Nick_vh and/or @StryKaizer
Comment #139
borisson_So @StryKaizer convinced me that we should do #110 + #136.
I fixed the upgrade path and most of the tests that failed in #111. Let's see how many things I missed.
Comment #140
borisson_I don't think that test fail is our fault, as the test indicates that the patch didn't apply:
Confirmed: #2842529: ECK patch test because eck module not checked out?
Comment #141
borisson_Ok, so #139 now fails with 2 failures and no longer is broken because of the testbot. I'll resolve those 2 fails after work.
Comment #142
borisson_I noticed a failure in the facet summary test locally that I didn't see online. Maybe we should investigate? I'll try to remember that.
Also
testOnViewDisplayRemovalfound a legit bug. Hurray!Comment #143
borisson_Green tests again, that's great! Do we need a test for the upgrade path as well?
Comment #144
jespermb commentedI tested this on a project we are working right now and found a bug. Everything works fine, except for the facet blocks we have inserted via panels. Here the getPath() function returns the views path instead of the path from the current page. Any Idea as to how we fix this?
I just found that the patch changes SearchApiDisplay->getPath() from:
to:
Which is the cause of this issue. Is there a reason for this change or can it be changed back to account for the cases where the block is not on the url of the view page?
Br Jesper
Comment #145
jespermb commentedi created this fix for our own project to solve the issue for now. Hope you can use it.
Br Jesper
Comment #146
borisson_Looks like that is a bug in Search API, not facets. That's where the path is generated.
One of the pro's of this patch is that we don't have to duplicate changes to displays for facets and search_api_sorts (and others). The patch in #144 reintroduces a (small) place where we'll have to keep things in line again.
@jespermb is it possible to fix this in search api instead?
Comment #147
jespermb commentedSure i will look into that. Thanks for the reply.
Br Jesper
Comment #148
borisson_#2842971: Handle path for blocks makes #145 obsolete.
@jespermb: can you confirm that the upgrade path worked?
Comment #149
jespermb commentedYes it worked as expected.
Comment #150
dermarioI tried to update a customer project from alpha7 to the latest dev + #142 locally and run into an issue.
Facets source id before updb:
views_page:search_results__search_resultsFacets source id after updb:
search_api:views_page__:search_results__search_resultsWhen visiting admin/config/search/facets/section_facet/settings i get:
I just took a screenshot of a debug session i did:
I could investigate tomorrow. Today i am to blind to the see the problem ;-)
Comment #151
borisson_"search_api:views_page__:search_results__search_results"should be"search_api:views_page__search_results__search_results"The problem is the extra
:.Comment #152
dermarioThank you @borisson_ for your confirmation. This patch fixes the upgrade path for me. I also modified the comment a bit.
Comment #153
borisson_I tested the upgrade path again locally and noticed that facet summaries were not upgraded. They are now.
Comment #154
strykaizerGreat work all, impressive patch ;-)
Comment #155
borisson_So, something like this?
Comment #156
strykaizerCurrent patch breaks facets which are rendered without being on the actual search api view page.
Lets fix this, and write a test for this which fails without the that fix.
Other than that, upgrade functionally working on my projects.
Comment #157
borisson_It looks like this means we don't have sufficient coverage for
only_visible_when_facet_source_is_visible.So we should write a new test that covers that.
Comment #158
borisson_I think this proves that @StryKaizer 's right. Attached test-only.patch should pass on HEAD and fail w/ the rest applied. If we get that to pass we should be able to resolve #156
Comment #159
borisson_This reintroduces code to fix the bug @StryKaizer reported.
Comment #160
borisson_So, we have the new test green now, but there's a fail in the rest tests that I don't understand. I can get a rest view to work locally when I configure it myself.
I'll try to figure out how to fix it.
Comment #161
borisson_I think I've figured it out. The configuration of the facet used in the rest view was incorrect. So good thing this errored.
Comment #162
borisson_This is now ready for final reviews. Hoping to get at least StryKaizer and one other person to use this on a real project to see if we introduce any regressions.
Comment #163
jacobv1992 commentedHi , I updated the Search API to Search API 8.x-1.0-beta4 after which I updated the Facets API to Facets 8.x-1.0-alpha7.
I started to get https://www.drupal.org/node/2840613 and https://www.drupal.org/node/2839981#comment-11848090 issue
So I applied the https://www.drupal.org/files/issues/search_api_integration-2772745-161.patch patch but got the below issue on all pages with facets in them (from logs)
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "views_page:spaces_search__block_1" plugin does not exist. in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 52 of /var/www/pennlib/code/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
This is happening on the facets setting as well
Comment #164
borisson_Did you run the provided upgrade path? Does that make it better?
Comment #165
jacobv1992 commentedI ran drush updb if after applying the https://www.drupal.org/files/issues/search_api_integration-2772745-161.p... . I'm not sure what I'm supposed to do to "run the provided upgrade path" . Could you let me know if there is more I'm supposed to do with this fix.
Comment #166
borisson_No that was all you needed to do. Looks like this isn't fixed yet. I'll try to figure it out during the sprint weekend sprints.
Comment #167
borisson_So, it looks like we don't have an upgrade path for facet source entities yet. So that's what we need to do here.
Comment #168
borisson_With upgrade path now.
Comment #170
borisson_Discussed and tested with swentel at the sprint weekend.
Comment #172
borisson_Committed! Woo!
Comment #173
ndrake86 commented_borrison, was testing out the patch and used the update path provided, for common search api page the new source Id for each facet was changed correctly. But what I found was for export pages and panels block facets the source was not able to be updated. Not a super huge deal, I was able to manually reconfigure those facets just wanted to make a note here in case others had ran across a similar issue with their data export or panels block.
For my export page the facet source before updb:
views_page:advanced_page__data_export_1going to
admin/config/search/facetsthe source shows assearch_api:views_data__advanced_page__data_export_1but was converted as:
search_api:views_page__advanced_page__data_export_1This might be the way the export pages source Ids are made but I haven't gone that far into it yet. Also these export views are making use of the views data export module which also could have played a part. Which probably relates to this problem I was running into with my exports on Beta 4 of the search api ->https://www.drupal.org/node/2846357
All in all everything else is working great.