brighttalk / acs-query-builder

提供了一种面向对象的方式,可以编程构建 Amazon Cloud Search 服务的查询

0.5.0 2015-01-15 08:44 UTC

README

Build Status

描述

此库提供了一种面向对象的方式,可以编程构建 Amazon Cloud Search 服务的查询。它受到 Doctrine 的查询构建器的启发。查询的 __toString 方法将返回一个解码后的字符串,就像 http_build_query 函数提供的那样

##安装

添加到您的 composer.json 中

"require": {
    ...
    "brighttalk/acs-query-builder": "dev-master"
}

使用查询构建器

$query = $qb->searchByFieldValue("fieldName", "'fieldValue'")
    ->setSize(20)
    ->setStart(0)
    ->setRank('-fieldName')
    ->getQuery();

echo $query;

将输出 bq=fieldName:'fieldValue'&start=0&size=20&rank=-fieldName(rank 表达式中的 "-" 表示降序 - 请参阅 Amazon 文档

表达式构建器

支持的表达式有:andX、orX、notX、eq

示例

$query = $qb->setSearchExpression($qb->expr()->andx(
        $qb->expr()->eq("aFieldName", "'aFieldValue'"),
        $qb->expr()->notx($qb->expr()->eq("anotherFieldName", "'anotherFieldValue'"))
    ))
    ->setSize(20)
    ->setStart(0)
    ->getQuery();

echo $query;

将输出 bq=(and afieldName:'afieldValue' (not anotherFieldName:'anotherFieldValue'))&start=0&size=20