Elasticseach没有映射所有给定的字段[PHP]

时间:2018-01-12 11:22:06

标签: php elasticsearch mapping

我正在使用Elasticsearch-PHP客户端。我想索引我的数据,但我有一个映射问题。有一个问题:我创建了我的数据数组,一切正常,但是当我将这个数组添加到索引body => my_data_array时,会显示一些数据,但不是全部。我不知道为什么。我只是挖掘并尝试了以下所有步骤,但没有任何改变。

我刚刚附上了我的片段。

这是我的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"
   }

我有data字段,此处不可见。 其data映射结构

'data'          => [
    'type' => 'object',
    'properties' => [
        'key_id'   => ['type' => 'integer'],
        'value_id' => ['type' => 'integer'],
        'key'      => ['type' => 'keyword'],
        'value'    => ['type' => 'keyword']
    ]
]

我该如何解决?

我只是从这里检查一些问题和github问题论坛,但没有任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

您必须遵循问题的解决方案。它可能对你有帮助。

Elasticsearch mapping not working as expected Ask Question