Searching for "identifier" is possible even though no property "identifier" exists
Consider this query:
$nodes = $query->matching($query->equals('identifier', $id))->execute();
This will even work if no property "identifier" has been defined in the domain model because the CR used the field name "identifier" internally.
Then again searching for the identifier "id" (the name of the property annotated as @identifier) won't return any results because Lucene tokenizes the UUID.
1. Hide the internal identifier
2. Make sure that the QM recognizes the identifier property and then searches in the CR identifier field (jcr:uuid) instead of the domain model's property
- Persistence: array keys are now preserved when persisting, fixes #1620
- Persistence: fixed error when persisting DateTime properties, fixes #2195
- changed the way properties are added to the Lucene index, fixes #1623, refs #1886
- fixed storage backend to enable use of namespaced nodetype names
- moved the KeywordAnalyser here from TYPO3CR
#2 Updated by Karsten Dambekalns almost 11 years ago
- Status changed from New to Accepted
- % Done changed from 0 to 30
The internal properties are now prefixed with "typo3cr:" in the Lucene index, properties from objects are prefixed with "flow3:" in the persistence backend. Thus the first point is resolved.