Elasticsearch Mapping Types в PHP - PullRequest
       12

Elasticsearch Mapping Types в PHP

0 голосов
/ 03 июня 2019

Я хочу подключиться к нашему Серверуasticsearch (V7.0.0), используя официальный PHP Client . В документации эластичного поиска указано, что типы сопоставления удалены в версии 6.0.0.

Но в целом официальные типы документации PHP Client все еще упоминаются и кажутся необходимыми (например,):

// Set the index and type
$params = [
    'index' => 'my_index',
    'type' => 'my_type2',
    'body' => [
        'my_type2' => [
            '_source' => [
                'enabled' => true
            ],
            'properties' => [
                'first_name' => [
                    'type' => 'keyword',
                    'analyzer' => 'standard'
                ],
                'age' => [
                    'type' => 'integer'
                ]
            ]
        ]
    ]
];

// Update the index mapping
$client->indices()->putMapping($params);

Источник

Может кто-нибудь объяснить мне, почему я все еще должен использовать типы, когда они были удалены?

1 Ответ

1 голос
/ 03 июня 2019

Отображение types было удалено в Elasticsearch 7.x. В предыдущей версии (Elasticsearch 6.x вам нужно указывать только ОДИН тип для каждого индекса), тогда как в версии 2.x - 5.6 вы можете использовать более одного типа для каждого индекса. Пожалуйста, проверьте ваши версии документации.

Поскольку у вас есть Elasticsearch 6.0.0, вам нужно указать тип сопоставления, и я не совсем уверен, что API будет работать даже с более новой версией Elasticsearch 7.X

Вот матрица версий для php API:

Elasticsearch Version   Elasticsearch-PHP Branch
>= 6.6, < 7.0                              6.7.x
>= 6.0, < 6.6                              6.5.x
>= 5.0, < 6.0                                5.0
>= 2.0, < 5.0                         1.0 or 2.0
>= 1.0, < 2.0                         1.0 or 2.0
<= 0.90.x                                    0.4
...