我想使用官方PHP Client连接到我们的Elasticsearch Server(V7.0.0)。 elasticsearch文档指出,映射类型在版本6.0.0中为removed。
但是在整个官方的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);
任何人都可以向我解释为什么在删除类型后仍要使用类型吗?
答案 0 :(得分:1)
映射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