做搜索创建模板和创建索引的时候报错,说是删除模板失败

来源:9-7 使用laravel的Command实现搜索引擎索引和模版的建立

qq_谁私唯一_0

2018-04-29

http://img.mukewang.com/szimg/5ae5b1620001b6d013520671.jpg

写回答

2回答

qq_谁私唯一_0

提问者

2018-05-06

我把创建模板和创建索引的delete都注释掉,报下面的错

//img.mukewang.com/szimg/5aeeaef80001812213490391.jpg

然后又把创建索引的$clinet->put($url,$param);注释掉,然后就都创建成功了

在然后把所有的注释取掉就包下面的错

//img.mukewang.com/szimg/5aeeb04f00016c4b10090424.jpg

老师这是什么问题啊,那样注释掉不能用哇


 public function handle()

    {

        //创建template

        $client = new Client();

        $url = config('scout.elasticsearch.hosts')[0] . '/_template/tmp';

        // $client->delete($url);

        $param = [

            'json' => [

                'template' => config('scout.elasticsearch.index'),

                'mappings' => [

                    '_default_' => [

                        'dynamic_templates' =>[

                            [

                                'strings' => [

                                        'match_mapping_type' => 'string',

                                        'mapping' => [

                                            'type' => 'text',

                                            'analyzer' =>'ik_smart',

                                            'fields' =>[

                                                'keyword' => [

                                                    'type' => 'keyword'

                                            ]

                                        ]

                                     ]

                                ]

                            ]

                        ]

                    ]

                ],

            ],

        ];

        

        $client->put($url,$param);


        $this->info("===============创建模板成功==================");


        //创建index

        $url = config('scout.elasticsearch.hosts')[0] . '/' . config('scout.elasticsearch.index');

        // $client->delete($url);

        $param = [

            'json' => [

                'settings' => [

                    'refresh_interval' => '5s',

                    'number_of_shards' => 1,

                    'number_of_replicas' => 0,

                ],

                'mappings' => [

                    '_default_' => [

                        '_all' => [

                            'enabled' => false

                        ]

                    ]

                ]

            ]

        ];

        // $clinet->put($url,$param);

        $this->info("===============创建索引成功==================");

    }


0
0

轩脉刃

2018-05-03

创建模版也有错误么,如果es里面没有,需要先创建再删除模版。你看一下,init里面的几个函数创建,删除等需要有顺序。你可以注释掉delete看下能不能put成功

0
3
qq_谁私唯一_0
回复
轩脉刃
老师你看上面,有截图
2018-05-12
共3条回复

Laravel快速开发简书

Laravel最新特性结合Mysql异步消息队列、ElasticSearch搜索引擎、Debugbar调试利器开发简书

1218 学习 · 613 问题

查看课程