Elasti c Поисковое отображение вложенного объекта в сравнении с родительским дочерним отношением - PullRequest
0 голосов
/ 01 апреля 2020

Я перевожу свою таблицу базы данных отношений в поиск elasti c. Я застрял в составлении карты документа. Я не понимаю, какую вещь я использую. Должен ли я go к вложенному объекту или родительскому дочернему отношению. Я даю некоторые подсказки о моем столе. У нас есть несколько таблиц, которые объединены друг с другом. Например,

Таблица 1 ------ один ко многим ---> Таблица 2

Таблица 2 ---> Один к одному ----> Таблица 3

Таблица 3 ----> один ко многим -----> Таблица 4

Таблица 4 -------> один к одному ----> Таблица 5

Если я использую отношения родитель-потомок, то в этом случае, если мне нужно загрузить весь объект, указав идентификатор таблицы 1. Это будет очень сложно.

Если я использую вложенный объект, тогда это будет тесно связано.

Я пытаюсь думать так: объединить две таблицы, т. е. таблицу 1 и таблицу 2, а таблица 2 будет вложенным объектом. объединить две таблицы, т. е. содержимое таблицы 3 и таблицы 4, содержимое таблицы 4 было бы вложенным объектом.

и я бы установил родительское дочернее отношение между внутренним объектом таблицы 2, представленным в объекте таблицы 1, с таблицей 3

~

PUT /my_index
{
"mappings": {

    "properties": {
    "table2Rel": {
    "type": "nested",
    "properties": {
    "rel_type": { "type": "keyword" },
    "table2_id": { "type": "integer" },
    "eff_start_time": { "type": "date" },
    "eff_end_time": { "type": "date" },
    "join_field" : {
    "type":"join",
    "relations":{
    "table2Rel" : "table3"
    }
    }
    }
    }
    }
    }
    }

~ Это отображение выдаст мне ошибку, оно заявило, что вы не можете поместить join_field во внутренний объект.

Пожалуйста, дайте мне совет, как я могу перенести таблицы

...