在查询字符串中包含斜杠时收到错误消息。
查询如下所示,
"query_string": {
"query": "usr0\\/7\\/0\\/20",
"default_field": "logmsg"
"analyzer": "keyword"
}
我的文档如下所示,
{
"_index" : "logstash-log-2016.11.03",
"_type" : "log",
"_id" : "AVgpFuqyvHnB4OYqM9QE",
"_score" : 2.2499034,
"_source" : {
"message" : "#<SNMP::SNMP_Trap:0x5383e289 @request_id=63766, @error_index=0, @error_status=0, @value=#<SNMP::TimeTicks:0x3cbfc0fd @value=2033549672>>,blablabla>",
"@timestamp" : "2016-11-03T07:28:37.177Z",
"type" : "usrinfo",
"logmsg" : "DISMAN-EVENT-MIB::sysUpTimeInstance:235 days, 08:44:56.72,SNMPv2-MIB::snmpTrapOID:IF-MIB::linkUp,IF-MIB::ifIndex.132:132,IF-MIB::ifDescr.132:usr0/7/0/20,IF-MIB::ifType.132:6,CISCO-IF-EXTENSION-MIB::cieIfStateChangeReason.132:up",
"error_status" : "0",
}
我想获取logmsg具有关键字&#34; usr0 / 7/0/20&#34;的文档, 但没有点击返回
这发生在ES&#34;数字&#34; :&#34; 2.3.5&#34;,
答案 0 :(得分:0)
反斜杠会转义正斜杠,但您还需要转义反斜杠本身,如下所示:
{
"query": {
"query_string": {
"query": "user0\\/0\\/0\\/2",
"default_field": "name"
}
}
}
但是,如果您的目标是在消息字段中搜索令牌user0/0/0/2
,则无法使用此功能。您需要使用term
查询或将"analyzer": "keyword"
添加到query_string
查询,否则user0/0/0/2
将被标记为user0
,0
和2