php - 如何使用 PHP 在 Elasticsearch 查询中传递斜杠?
问题描述
下面提到的弹性搜索查询如果我们直接点击它就可以正常工作,
{
"query": {
"query_string": {
"query": "\"testtext/123\""
}
}
}
在 PHP 数组中如何使用反斜杠传递上述查询。我尝试了下面的代码,它给出了错误响应。
$query = array(
"query"=>[
"query_string"=> [
"query"=>"\".$string."\"
]
]
);
错误是:
语法错误,意外 '' (T_NS_SEPARATOR)
解决方案
\
是一个转义字符,你需要转义它本身,否则它会转义第二个"
,所以 PHP 认为字符串未完成。您需要解决语法错误并确保第二个引号实际上是字符串的一部分,而不是 PHP 分隔符。
实际上最简单的方法是在 PHP 中使用单引号作为字符串分隔符:
$query = array(
"query"=>[
"query_string"=> [
"query"=>'"'.$string.'"'
]
]
);
推荐阅读
- python - 按列对 2d numpy 字符串/浮点数组进行排序
- python - 我的 pip 显示无效版本选项错误
- java - EntityManager 没有持久性提供程序,尽管我导入了 hibernate-core 包
- java - 安卓按键设计
- typescript - 道具不改变背景按钮颜色
- node.js - 在 pm2 中获取生成节点 ENOENT
- javascript - 在 puppeteer(Nodejs 库)中发送 postMessage
- python - 使用边界框从图像中裁剪人脸
- python - 如何将 pandas df 与 geopandas df 合并以在 shapefile 上绘图
- javascript - Promise.allSettled() 响应的类型错误