elasticsearch 用于提取的引号内的PHP变量

nuypyhwy  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(122)

我尝试用php fetch来获取弹性api,但是在查询或主体上我使用一个引号来创建查询,我知道如果我们使用双引号,php中的变量将被php读取,但是不幸的是弹性查询只接受双引号作为查询的格式,所以我使用一个引号作为查询字符串的开头,并且变量不会被php读取为variable,是它有选择,所以我php可以读取变量作为一个变量,而不是作为一个文本
PHP查询弹性

$nameCategoryListSub = "Laptop";
    $body = '{
      "query" : {
        "match": {
          "category": "$nameCategoryListSub"
        }
      }
    }';

iqxoj9l9

iqxoj9l91#

使用PHP关联数组构建查询,并使用json_encode将其编码为结果中的json查询。
下面是实现这一点的代码-

$nameCategoryListSub = "Laptop";

$body = [
           "query" => [
              "match" => [
                  "category" => $nameCategoryListSub
               ]
           ]
        ];
print_r(json_encode($body));

相关问题