Много ко многим отношениям вasticsearch

Я знаю, что в эластичном поиске мы можем иметьотношения ребенка / родителя между документами.

И затем, при индексации, я могу передать родительский идентификатор, чтобы дочерний и родительский документы были связаны:

$ curl -XPUT localhost:9200/blogs/blog_tag/1122?parent=1111 -d '{    "tag" : "something"}'

Есть ли способ моделировать отношения «многие ко многим» в эластичном поиске?

Данные хранятся в базе данных MySQL со следующей схемой:

account
========
id
name
some_property

group
========
id
name
description

account_group
=============
account_id
group_id
primary_group //This is 1 or 0 depending on whether the group is the primary group for that account.

В настоящее время это мое отображение дляaccount (прошу прощения за обозначение массива, я используюэластическая ткань в PHP, чтобы поговорить с моим сервером Flexiblesearch):

**Mapping for account**

'name' => array(
    'type' => 'string'),

'some_property' => array(
    'type' => 'string'),

'groups' => array(
   'properties' => array(
    'id'      => array('type' => 'integer'),
    'primary' => array('type' => 'boolean')
    )
),

**Mapping for group**

'name' => array(
        'type' => 'string'),

'description'=> array(
        'type' => 'string')

Проблема с этим подходом состоит в том, что если группа удаляется из индекса, мне нужно будет пройти через каждую учетную запись и удалить идентификатор группы из каждой учетной записи. Это кажется мне немного неэффективным. Я также предполагаю, что это не будет проблемой при использовании дочерних / родительских отношений эластичного поиска.

Есть ли способ моделировать отношения «многие ко многим» в эластичном поиске?

Ответы на вопрос(2)

Ваш ответ на вопрос