Flowpack.ElasticSearch.ContentRepositoryAdaptor
Flowpack.ElasticSearch.ContentRepositoryAdaptor copied to clipboard
Switching base workspace must update index
Given that:
- a shared workspace "relaunch" exists
- user "john" has been working based on the "live" workspace
- Elasticsearch is used to query for certain things in Fusion
When I:
- log in as "john"
- and switch the base workspace of my personal workspace to "relaunch"
Then:
- Es-based Fusion queries do not know anything about the "relaunch" content
This is because the workspace for "john" has been indexed already. Nor does that switch trigger any reindexing, since no publishing is involved. Thus it is not being reindexed after the base workspace switch.
Ouch, this is hard to fix especially with a lot of nodes...
Switching the base workspace is only possible if the personal workspace contains no changes. So it might be possible to copy the "index for the new base workspace" and adjust it slightly (idea courtesy of @robertlemke)…
Oh, nice idea, yes!
Btw. I don't know the current state but maybe what I did for SimpleSearch could still be interesting for ES. Basically I don't multiply entries for dimensions and workspaces but tag entries for all applying dimension and workspace combinations and find them that way. That would mean the above operation basically would mean to tag the entries valid for the "new base workspace" with the users workspace as well.
For dimensions I think we need different indexes (to solve the autocomplete by ex, but also to improve word weighting by usage, ... currently ES does not know anything about our dimensions).
But for the workspace 👍 to tag entries and not duplicate them, we can save a lots of document in the index. A query or even more efficient a script can handle the tagging during base workspace switching.
Switching the base workspace is only possible if the personal workspace contains no changes.
Maybe at some point this will change