WedX - журнал о программировании и компьютерных науках

ElasticSearch 7 и PHP - Создание сопоставления для отношения родитель / потомок

Я хочу проиндексировать в своем индексе buildings 2 типа документов: building & apartment.

building может иметь несколько apartment, поэтому я хочу использовать отношения родитель / потомок.

Я использую ES 7.10 и PHP с официальной библиотекой PHP (elasticsearch / elasticsearch).

Согласно документу (https://www.elastic.co/guide/en/elasticsearch/guide/current/parent-child-mapping.html), мне нужно использовать что-то вроде:

PUT index buildings
{
  "mappings": {
    "building": {},
    "apartment": {
      "_parent": {
        "type": "building"
      }
    }
  }
}

В моем PHP у меня есть:

$this->getClient()->indices()
        ->create([
            'index' => 'buildings',
            'body' => [
                'mappings' => [
                    'building' => [],
                    'apartment' => [
                        '_parent' => [
                            'type' => 'building'
                        ]
                    ]
                ]
            ]
        ]);

Что вызывает ошибку:

Определение корневого сопоставления содержит неподдерживаемые параметры: [apartment: {_parent = {type = building}}] [building: []]}}, status: 400}

Я что-то пропустил?

php
01.02.2021

Ответы:


1

Насколько я помню, родительский тип / тип устарел в пользу типа join в Elasticsearch 7, так что это может быть причиной того, что вы получаете исключение.

Ссылка на документы: https://www.elastic.co/guide/en/elasticsearch/reference/current/parent-join.html.

01.02.2021
  • Ах да ... Я читал старый документ, предупреждения не заметил, проверю этот новый спасибо 01.02.2021
  • Новые материалы

    Как создать диаграмму градиентной кисти с помощью D3.js
    Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

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

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


    Для любых предложений по сайту: [email protected]