Restore previous attribute search behavior
Refactoring Task
🗻 Summary
The bugfix regarding dots in attribute keys (c79d752c), changed the delimiter character in the Neo4j attribute fields to be '||'. This change also effects the attribute search, meaning that a existing attribute search queries on Dataobject/ Collection properties for attributes no longer work. This is due to the search previously utilizing the '.' character but now it expects the '||' character as a delimiter. This breaks already existing search queries on attribute fields and user have to adapt their search queries.
In this issue we want to restore the old search functionality, where the user is able to write search queries like: query = {"property": "attributes.number", "value": "123", "operator": "eq"}
, using the '.' as a delimiter character for the attribute fields.
🥅 How could that be improved?
Support previous style of queries on attribute properties using a '.' character.
💡 Hints
We can implement a string replacement in the search endpoints for Dataobjects and Collection to replace a attribute query like: {"property": "attributes.number", "value": "123", "operator": "eq"}
to {"property": "attributes||number", "value": "123", "operator": "eq"}
, which is then properly handled by the search service.