ITPub博客

首页 > IT职业 > IT职场 > Elasticsearch的PHP客户端操作

Elasticsearch的PHP客户端操作

IT职场 作者:w39 时间:2021-09-09 09:15:53 0 删除 编辑

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/854/viewspace-2801512/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-14

  • 博文量
    92
  • 访问量
    268563