弹性搜索中无法识别的字符转义符“&”

时间:2019-12-20 06:12:21

标签: php wordpress elasticsearch-5

能否请你建议我。 我在弹性搜索中使用以下查询

json = '{ "from": 0, "size": 30, 
"query": { "multi_match": { "query": "test and operator &+_-@#%^!() with elastic search json parse exception",
"type": "most_fields",
"fields": [
"post_title",
"post_content",
"custom.cat_name",
"custom.series_name",
"custom.topic_name",
"custom.genre_name",
"post_author.display_name",
"post_meta.wps_subtitle",
"terms.post_tag.name"
],
"fuzziness": "1"
}
},
"post_filter": {
"term": {
"custom.pos_format": "asid"
}
}
}';

$params = [
'index' => 'devarrecoin-1',
'type' => 'post',
'body' => $json
];

$results = $client->search($params);

注意:wordpress弹性压插件2.8.2版, Elasticsearch-PHP分支:2.0 弹性搜寻版本5.6.16 你能建议我吗?

错误:

  

{“错误”:{“ root_cause”:[{“类型”:“ json_parse_exception”,“原因”:“无法识别   字符转义符“&”(代码38)\ n,位于[来源:   org.elasticsearch.transport.netty4.ByteBufStreamInput@5c05c49d;线:   7,列:188]“}]

     

[2019年12月11日14:50:46 America / Los_Angeles] PHP致命错误:未捕获   Elasticsearch \ Common \ Exceptions \ ServerErrorResponseException:   {“错误”:{“ root_cause”:[{“类型”:“ json_parse_exception”,“原因”:“意外   字符(“Ô(代码237)):期望逗号分隔对象   条目\ n,位于[来源:   org.elasticsearch.transport.netty4.ByteBufStreamInput@7bcfef75;线:   6,列:153]“}],

上述错误是在php错误日志中生成的。

0 个答案:

没有答案