Hibernate Search 6 - Advanced mapping

Ok, with the new code
@AssociationInverseSide(inversePath = @ObjectPath(@PropertyValue(propertyName = “conjoint”)))

I’m able to index my document as expected with fullIndexer

Here is the mapping seen from kibana

{
  "mapping": {
    "dynamic": "strict",
    "properties": {
      "__HSEARCH_id": {
        "type": "keyword",
        "store": true
      },
      "__HSEARCH_tenantId": {
        "type": "keyword",
        "store": true
      },
      "conjoint": {
        "dynamic": "strict",
        "properties": {
          "dateNe": {
            "type": "date",
            "doc_values": false,
            "format": "uuuu-MM-dd'T'HH:mm:ss.SSSSSSSSSZZZZZ"
          },
          "nom": {
            "type": "keyword",
            "doc_values": false
          },
          "prenom": {
            "type": "keyword",
            "doc_values": false
          },
          "uuid": {
            "type": "keyword",
            "doc_values": false
          }
        }
      },
      "dateNe": {
        "type": "date",
        "doc_values": false,
        "format": "uuuu-MM-dd'T'HH:mm:ss.SSSSSSSSSZZZZZ"
      },
      "nom": {
        "type": "keyword",
        "doc_values": false
      },
      "prenom": {
        "type": "keyword",
        "doc_values": false
      },
      "uuid": {
        "type": "keyword",
        "doc_values": false
      }
    }
  }
}

Here an example of two indexed ClientPhysique

1

"_source": {
    "uuid": "8cebe01d-b9cf-45c8-956c-00b7d6252c98",
    "dateNe": "1984-11-25T23:00:00.000000000Z",
    "nom": "test444",
    "prenom": "Vanessa, Fatima",
    "conjoint": {
      "uuid": "a4dc702e-4253-4134-94ad-fb14206eb0ea",
      "dateNe": "1982-10-21T23:00:00.000000000Z",
      "nom": "LOSSIGNOL",
      "prenom": "Vincent, Nicolas"
    },
    "__HSEARCH_id": "2828",
    "__HSEARCH_tenantId": ""
  },

2

"_source": {
    "uuid": "a4dc702e-4253-4134-94ad-fb14206eb0ea",
    "dateNe": "1982-10-21T23:00:00.000000000Z",
    "nom": "LOSSIGNOL",
    "prenom": "Vincent, Nicolas",
    "conjoint": {
      "uuid": "8cebe01d-b9cf-45c8-956c-00b7d6252c98",
      "dateNe": "1984-11-25T23:00:00.000000000Z",
      "nom": "test444",
      "prenom": "Vanessa, Fatima"
    },
    "__HSEARCH_id": "2827",
    "__HSEARCH_tenantId": ""
  },

Now my next issue is when i try to update one side of the association it’s not updating correctly the embedded document, actually, the object i just updated loose his embeded document.

ClientPhysique c = rootRepository.get(ClientPhysique.class, 2828l);
c.setNom("test2000");
rootRepository.saveOrUpdate(c);

here the indexed documents after the update of one side

Here the entity i just update (id 2828l) which loose his conjoint

"_source": {
    "uuid": "8cebe01d-b9cf-45c8-956c-00b7d6252c98",
    "dateNe": "1984-11-25T23:00:00.000000000Z",
    "nom": "test2000",
    "prenom": "Vanessa, Fatima",
    "conjoint": {
      "uuid": null,
      "dateNe": null,
      "nom": null,
      "prenom": null
    },
    "__HSEARCH_id": "2828",
    "__HSEARCH_tenantId": ""
  }

Here the other entity, everything fine

"_source": {
    "uuid": "a4dc702e-4253-4134-94ad-fb14206eb0ea",
    "dateNe": "1982-10-21T23:00:00.000000000Z",
    "nom": "LOSSIGNOL",
    "prenom": "Vincent, Nicolas",
    "conjoint": {
      "uuid": "8cebe01d-b9cf-45c8-956c-00b7d6252c98",
      "dateNe": "1984-11-25T23:00:00.000000000Z",
      "nom": "test2000",
      "prenom": "Vanessa, Fatima"
    },
    "__HSEARCH_id": "2827",
    "__HSEARCH_tenantId": ""
  }

If i do this , documents are both ok but i’am not sure it’s relevant

ClientPhysique c = rootRepository.get(ClientPhysique.class, 2827l);
c.setNom("left side 1");
rootRepository.saveOrUpdate(c);
ClientPhysique c2 = rootRepository.get(ClientPhysique.class, 2828l);
c2.setNom("right side 1");
rootRepository.saveOrUpdate(c2);

The last version of my annotations :

    @Textuel
	@Transient
	@IndexedEmbedded(includePaths = {
			ClientPhysique_.UUID, ClientPhysique_.NOM, ClientPhysique_.PRENOM, ClientPhysique_.DATE_NE
	})
	@AssociationInverseSide(inversePath = @ObjectPath(@PropertyValue(propertyName = "conjoint")))
	@IndexingDependency(
			derivedFrom = {
					@ObjectPath({@PropertyValue(propertyName = "matrimoniauxMadame"), @PropertyValue(propertyName = "monsieur"), @PropertyValue(propertyName = "nom")}),
					@ObjectPath({@PropertyValue(propertyName = "matrimoniauxMadame"), @PropertyValue(propertyName = "madame"), @PropertyValue(propertyName = "nom")}),
					@ObjectPath({@PropertyValue(propertyName = "matrimoniauxMonsieur"), @PropertyValue(propertyName = "monsieur"), @PropertyValue(propertyName = "nom")}),
					@ObjectPath({@PropertyValue(propertyName = "matrimoniauxMonsieur"), @PropertyValue(propertyName = "madame"), @PropertyValue(propertyName = "nom")})
			}
	)
	public ClientPhysique getConjoint() {
		// compute conjoint
		return conjoint;
	}

I try to specify every property on the path on every associations used for the computing of conjoint but, it not working better