types:
product:
mappings:
title: { search_analyzer: custom_search_analyzer, index_analyzer: custom_index_analyzer, type: string }
status:
brand.name: { search_analyzer: custom_search_analyzer, index_analyzer: custom_index_analyzer, type: string }
brand:
type: "nested"
properties:
status: ~
persistence:
driver: orm
model: MyBundle\Entity\Product\Product
provider:
query_builder_method: customProductQueryBuilderElastica
listener: ~
finder: ~
これは、タイプ product の私のマッピングです。customProductQueryBuilderElasticaには、アクティブなステータスがあり、関連するブランド ステータスがアクティブな製品のみを入力するコードが含まれています。管理者から製品を変更すると、完全に機能します。
私がやりたいことは、ブランドのステータスを非アクティブに変更したときに、関連するすべての製品を ES から削除する必要があることです。
そのために、ここで説明されているように、ブランドを製品のネストとして使用し、そのリスナーを作成しました。これで、ES 内のすべての製品のブランド ステータスを自動的に変更できるようになりましたが、ブランド ステータスが非アクティブに設定されたときにそのような製品を削除したいと考えています。どうすればこれをより良い方法で達成できますか?.