【发布时间】:2018-06-21 20:33:13
【问题描述】:
我正在使用 Elasticsearch-PHP 客户端。我想索引我的数据,但映射有问题。有一个问题:我创建了我的数据数组,一切正常,但是当我将此数组添加到我的索引body => my_data_array 时,会显示一些数据,但不是全部。我不知道为什么。我只是挖掘并尝试了以下所有步骤,但没有任何改变。
我刚刚附上了我的 sn-ps。
这是我的 controller 文件,我在其中索引数据:
{
$params = ['body' => []];
foreach($all_ads as $key => $ads){
$params['body'][] = [
'index' => [
'_index' => 'demo_data',
'_type' => 'demo',
'_id' => $ads->id
]
];
$params['body'][] = $ads->indexParams();
}
$responses = $client->bulk($params);
这是结果 json 对象:
"response": [
{
"id": 85345,
"old_id": "5088063",
"user_id": "2706",
"category_id": "15",
"type": "3",
"title": array[3],
"slug": "",
"sub_region_id": "8",
"condition": "1",
"username": "John Doe",
"price": "82000",
"price_type": "1",
"no_phone": "0",
"views": "29",
"hot": "0",
"vip": "0",
"price_measure": "0"
}
我有一个datafield,在这里看不到。
其data映射结构
'data' => [
'type' => 'object',
'properties' => [
'key_id' => ['type' => 'integer'],
'value_id' => ['type' => 'integer'],
'key' => ['type' => 'keyword'],
'value' => ['type' => 'keyword']
]
]
我该如何解决?
我只是从这里和 github 问题论坛检查了一些问题,但没有任何帮助。谢谢!
【问题讨论】:
-
您使用的是动态映射还是手动映射?如果您在此处发布映射结构,将会有很大帮助。
-
@Toni 我使用手动映射。 Maan,结构太长,我固定了描述,类别,标题字段,是我的错。但是数据字段仍然没有出现。我只是在这里附上
data结构 -
您可以创建具有映射结构的公共 gist 并在此处粘贴链接。
标签: php elasticsearch mapping