Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.0.0
-
None
-
Patch, Important
Description
When entities are created through Managed Sites REST API, fields containing xml:lang annotations are being stored into Solr (Yard) using only the field value and not also the language. This is preventing, among other things, Entity Linking engine to found the entities when the language is detected first. Even if the Entity Linking engine is configured without any predefined language, the entities are not found.
Taking a look into the code, The StringConverter within the IndexValueFactory is, by purpose, ignoring the language for xsd:string based DataTypes. TextConverter (which is bound to entityhub:text type) is indexing the language along with the value. The problem is that, when uploading the entities through the API, the Clerezza Serializer is of course not able to understand entityhub:text data type, so it is always parsing the text fields as xsd:string.
Proposed solution is to include the language, if exists, also for String DataTypes as Text based are doing