nosql / adapter
Dynamodb ElasticSearch 结构化查询
dev-master
2019-07-22 03:14 UTC
Requires
- php: ^7.2
- aws/aws-sdk-php: ^3.18
- elasticsearch/elasticsearch: ^7.0
- monolog/monolog: ~1.0
This package is auto-updated.
Last update: 2024-04-19 21:28:49 UTC
README
非关系型数据库结构化查询方式
安装
- 通过composer
$ composer require nosql/adapter
目前支持的查询操作
操作 | ElasticSearch | DynamoDB |
---|---|---|
= | 支持 | 支持 |
!= | 支持 | 支持 |
> | 支持 | 支持 |
< | 支持 | 支持 |
>= | 支持 | 支持 |
<= | 支持 | 支持 |
IS NOT NULL | 支持 | 支持 |
IS NULL | 支持 | 支持 |
LIKE | 支持 | 支持 |
IN | 支持 | 不支持 |
NOT IN | 支持 | 不支持 |
BETWEEN | 不支持 | 不支持 |
目前支持的适配器
ElasticSearch, DynamoDB
示例
//配置信息,不同适配器配置内容不同 // DynamoDB配置: // $options=[ // "version" => "latest", // "keyid" => "keyid", // "access_key" => "key", // "region" => "region" // ]; //ES配置 $options=[ "host"=>"hostname", "port"=>"9200" ]; $page = 0; $pageSize = 100; $skip = $page*$pageSize; $db = Db::factory("ElasticSearch",$options); $select = $db->select(); $select->from("tableName")->from("index_name")->where("filed1=:f1:",array("f1"=>"value1")); $select->where("filed2=?","value2")->where("field is not null"); $select->orWhere("filed2=:v2:",["v2"=>"value2"]); //三个以上where时,orWhere会有优先级问题,可以使用(),例: $select->where("field=? and (field=? or field=?) ",array("value1","value2","value3")); $select->inWhere("field",$values)->orderBy(["filed"=>"desc","field2"=>"asc"]])->limit($pageSize,$skip); $rs = $db->fetchOne($select);