为了账号安全,请及时绑定邮箱和手机立即绑定

Elasticsearch的PHP客户端操作

标签:
PHP

<?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);


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消