我有我想要使用正則表達式過濾來自索引的數據的場景。'='符號在正則表達式elasticsearch過濾器中不起作用
數據將以特定字段中的句子形式存在。數據還可能包含一些特殊字符和'='。
下面是該指數的詳細信息:
PUT/eventsdata {
"mappings": {
"EventDataType": {
"properties": {
"id": {
"type": "string",
"index": "not_analyzed"
},
"name": {
"type": "string",
"analyzer": "std_with_spaces"
},
"description": {
"type": "string",
"analyzer": "std_with_spaces"
}
}
}
},
"settings": {
"number_of_shards": 1,
"analysis": {
"analyzer": {
"std_with_spaces": {
"type": "keyword"
}
}
}
}
}
下面是我的索引提供的樣本數據:
id - 12
name - Java Application
description- Process (AppName=MyApplication) is not running in the system.
下面是我的查詢而我試圖運行
GET /eventsdata/EventDataType/_search
{
"query": {
"filtered": {
"query": {
"regexp": {
"description": {
"value": ".*AppName=MyApplication.*"
}
}
}
}
}
}
但這不是給予任何result.Below在參考輸出
{
"took": 19,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
如果刪除了「=」符號,並與正常字(MyApplication的)過濾器是給結果。
請幫忙。
我很好奇,你可以運行'GET/eventsdata'並與結果你更新你的問題? – Val
用輸出更新了問題。 – kumarc