2016-11-04 70 views
0

在查詢字符串中包含斜槓時收到錯誤消息。當查詢字符串包含斜槓時,URI搜索失敗,並顯示parse_exception

查詢是看起來下面,

"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的關鍵字是「USR0/7/0/20文件」 但得到沒有命中返回

這發生在ES 「數字」: 「2.3.5」,

回答

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將得到標記化向user002

+0

喜瓦爾,我已經設置QUERY_STRING就像你說的和更新我的問題,而是何時加「分析「:」關鍵字「,沒有錯誤,但沒有提示 – georgetovrea

+0

但沒有解析異常,這是你最初的問題的目的;-) – Val

+0

如果你想使它工作,你需要更詳細地解釋你是什麼試圖實現。您需要使用您嘗試匹配的示例文檔以及您的映射來更新您的問題。 – Val

相關問題