大神请看
本文不一定写的全部都对,如果有哪里写得不好或者不对,可以提但请不要喷,不喜勿看绕道走就是了,虽然有可能在一些小知识点上会误导小白,但是还是可以看看基础的ES操作,对于使用还是一点帮助的
上一节中提到了把索引的某个字段设置成keyword类型,以此来精确查询数据,修改这个需要修改Index的Mapping属性
index的mapping和setting可以在创建index时进行配置
PUT /index名称
{
"settings":{
"number_of_shards":8,
"number_of_replicas":0
},
"mappings":{
"properties":{
"name":{
"type":"keyword" // 设置字段为keyword
}
}
}
}
如果索引已经建好并且导入了数据,然后再修改字段的类型是行不通的,这时候需要删除索引重新建立索引并设置相关的mapping或者setting,然后再重新导入数据
下面是PHP的代码实现:
// 结合之前的索引创建,只需要在创建索引时传入参数即可
$index->create([
'mappings' => [
'properties' => [
'name' => [
'type' => 'keyword',
],
]
],
'settings' => [
'number_of_shards' => 8,
'number_of_replicas' => 0
]
]);