继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Elasticsearch的PHP客户端操作

慕码人2483693
关注TA
已关注
手记 67
粉丝 8
获赞 23

<?php
//集群设置
$hosts = [
    '127.0.0.1:9200'
];
$client = Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build();

//创建文档
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id',
    'body' => ['testField' => 'abc']
];
$response = $client->index($params);

//获取文档
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id'
];
$response = $client->get($params);

//查询文档
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'testField' => 'abc'
            ]
        ]
    ]
];
$response = $client->search($params);

//删除文档
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id'
];
$response = $client->delete($params);

//删除索引
$deleteParams = [
    'index' => 'my_index'
];
$response = $client->indices()->delete($deleteParams);

//创建索引
$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_shards' => 2,
            'number_of_replicas' => 0
        ]
    ]
];
$response = $client->indices()->create($params);

//忽略异常
$params = [
    'index'  => 'test_missing',
    'type'   => 'test',
    'id'     => 1,
    'client' => [ 'ignore' => [400, 404] ]
];
$response = $client->get($params);

//获取响应详细信息
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 1,
    'client' => [
        'verbose' => true,
        'ignore' => [400, 404]
    ]
];
$response = $client->get($params);

//激活未来模式
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id',
    'client' => [
        'future' => 'lazy'
    ]
];
$future = $client->get($params);
$response = $future->wait();

//空对象
$params = [
    'index' => 'megacorp',
    'type' => 'employee',
    'body' => [
        'query' => [
            'match_phrase' => [
                'about' => 'rock climbing'
            ]
        ],
        'highlight' => [
            'fields' => [
                ['about' => new \stdClass()]
            ]
        ]
    ]
];
$response = $client->search($params);

$params = [
    'index' => 'my_index',
    'body' => [
        'mappings' => [
            'my_type' => [
                "include_in_all" => false,
                'properties' => [
                    'name' => [
                        'type' => 'string',
                        'analyzer' => 'ik'
                    ],
                    'price_now' => [
                        'type' => 'double',
                        'index' => 'not_analyzed'
                    ],
                    'image_thumb' => [
                        'type' => 'string',
                        'index' => 'not_analyzed'
                    ],
                    'sales_total' => [
                        'type' => 'integer',
                        'index' => 'not_analyzed'
                    ],
                    'comment' => [
                        'type' => 'integer',
                        'index' => 'not_analyzed'
                    ],
                    'create_date' => [
                        'type' => 'string',
                        'index' => 'not_analyzed'
                    ],
                    'status' => [
                        'type' => 'byte',
                        'index' => 'no'
                    ],
                    'sale' => [
                        'type' => 'byte',
                        'index' => 'no'
                    ]
                ]
            ]
        ]
    ]
];
$response = $client->indices()->create($params);

print_r($response);


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP