In #2638116: Clean up caching of Index class method results (especially fields), we unified the storage of all three index plugin types (datasources, processors, tracker). In doing so, we put a "middle layer" between the top-most array, keyed by plugin ID, and the actual plugin settings, originally because processor weights weren't inside the settings. Since we later changed that, I think the middle layer is now unnecessary again and should be removed.
| Comment | File | Size | Author |
|---|---|---|---|
| #11 | 2656052-11--remove_extra_layer_in_plugin_settings.patch | 32.38 KB | drunken monkey |
Comments
Comment #2
drunken monkeyComment #3
drunken monkeyThis should implement it, and at least the PhpUnit tests pass for me, locally.
The only non-trivial change is this place in
\Drupal\search_api\Plugin\search_api\datasource\ContentEntity::getIndexesForEntity():Without the extra
plugin_idkey, I don't think we can do this anymore. Or is there some entity query whiz who knows a solution?Like it is, I think we'll have to load all indexes and check them manually. (Not that this should matter much, I'd expect very few sites would have more than one or two indexes.)
Comment #4
drunken monkeyWanted to quickly get this in before, but now we need an upgrade path.
Comment #5
borisson_Tagging for upgrade path.
Comment #6
drunken monkeyComment #7
drunken monkeyRe-roll.
Comment #9
borisson_Yep, this all looks great! If we can get the tests to pass again, this has my stamp of approval.
Comment #11
drunken monkeyNot sure how this happened, but this should fix it.
Comment #13
drunken monkeyAh, finally green again!
Thanks also for your review, Joris!
Committed.