2017-07-19 102 views
0

我有一個擁有1000多個索引的彈性搜索集羣,我的大多數索引都有特定時間戳,但是很少有索引在UTC中有時間戳,這是導致查詢崩潰時,有人試圖從kibana搜索,我試圖列出所有沒有一個字段的索引名爲ts,我能夠通過捲曲來獲得字段映射 culr -XGET http://es-node1:9200/ */_ mapping /現場/ TS?漂亮如何在Elasticsearch中搜索沒有特定字段的索引

通過所有的1000+結果卻會很繁瑣,可能有人請點我到正確的查詢,排除所有不具有場指數「TS」

如果我在羣集中運行從kibana節點查詢開始扣球的CPU,我運行的過濾器是

"filter": { 
    "list": { 
    "0": { 
     "type": "time", 
     "field": "ts", 
     "from": "now-5m", 
     "to": "now", 
     "mandate": "must", 
     "active": true, 
     "alias": "", 
     "id": 0 
    }, 
    "1": { 
     "type": "querystring", 
     "query": "_exists_:ts", 
     "mandate": "must", 
     "active": true, 
     "alias": "", 
     "id": 1 
    } 
    }, 
    "ids": [ 
    0, 
    1 
    ], 
    "hide": true 
} 

},

,這是我在我的ES節點獲取日誌。

[2017-07-19 06:35:12,874][DEBUG][action.search   ] [Gargoyle] [ws][4], node[FbXhw2ERQT6QDPmNCuOMGQ], [R], v[21], s[STARTED], a[id=iH_6483qRHmJGSk95rOtQg]: Failed to execute [[email protected]] lastShard [true] 

RemoteTransportException [[美國隊長] [ES-節點1:9300] [指數:數據/讀取/搜索[相位/查詢]]];嵌套:SearchParseException [未能解析搜索源[{「query」:{「filtered」:{「query」:{「bool」:{「should」:[{「query_string」:{「query」:「」}} }]}}, 「過濾器」:{ 「布爾」:{ 「必須」:[{ 「範圍」:{ 「TS」:{ 「從」:1500445811001, 「到」:1500446111001}}},{ 「fquery」 :{ 「查詢」:{ 「QUERY_STRING」:{ 「查詢」: 「TS:(1500446010000)」}, 「_緩存」:真正}}]}}}}, 「亮點」:{ 「田」:{} 「fragment_size」:2147483647, 「pre_tags」:[ 「@開始高亮@」], 「post_tags」:[ 「@端高亮@」]}, 「大小」:1000, 「排序」:[{「_分數「:{」 順序 「:」 降序 「}},{」 TS 「:{」 順序 「:」 降序「}}]}]];嵌套:SearchParseException [找不到[ts]的映射以排序]; [{「query」:{「filtered」:{「query」:{「bool」:{「should」:[{「query_string」:{「query」:「 「}}]}},」 過濾器 「:{」 布爾 「:{」 必須 「:[{」 範圍 「:{」 TS 「:{」 從 「:1500445811001,」 到 「:1500446111001}}},{」 fquery 「:{」 查詢 「:{」 QUERY_STRING 「:{」 查詢 「:」 TS:(1500446010000) 「},」 _緩存 「:真正}}]}}}},」 亮點 「:{」 田「: {}, 「fragment_size」:2147483647, 「pre_tags」:[ 「@開始高亮@」], 「post_tags」:[ 「@端高亮@」]}, 「大小」:1000, 「排序」:[{ 「_score」:{ 「順序」: 「降序」}},{ 「TS」:{ 「順序」: 「降序」}}]}]];嵌套:SearchParseException [找不到[ts]的映射以排序]; 在org.elasticsearch.search.SearchService.parseSource(SearchService.java:855) 在org.elasticsearch.search.SearchService.createContext(SearchService.java:654) 在org.elasticsearch.search.SearchService.createAndPutContext(SearchService。 java:620) at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:371) at org.elasticsearch.search.action.SearchServiceTransportAction $ SearchQueryTransportHandler.messageReceived(SearchServiceTransportAction.java:368) at org.elasticsearch。 search.action.SearchServiceTransportAction $ SearchQueryTransportHandler.messageReceived(SearchServiceTransportAction.java:365) at org.elasticsearch.transport.TransportRequestHandler.messageReceived(TransportRequestHandler.java:33) at org.ela stmsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:75) at org.elasticsearch.transport.netty.MessageChannelHandler $ RequestHandler.doRun(MessageChannelHandler.java:300) at org.elasticsearch.common.util.concurrent.AbstractRunnable。運行(AbstractRunnable.java:37) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) at java。 lang.Thread.run(Thread.java:745) 引起:SearchParseException [找不到[ts]的映射以排序] at org.elasticsearch.search.sort.SortParseElement.addSortField(SortParseElement。的java:212) 在org.elasticsearch.search.sort.SortParseElement.addCompoundSortField(SortParseElement.java:186) 在org.elasticsearch.search.sort.SortParseElement.parse(SortParseElement.java:84) 在org.elasticsearch。 search.SearchService.parseSource(SearchService.java:838) ... 12更多

我想刪除其中沒有字段「ts」的索引,爲此我正在尋找一個查詢,其中我只能得到沒有字段ts的索引,有人可以幫我查詢嗎?

回答

0

在Kibana,您可以使用_exists_ query和以下內容添加到您的查詢

_exists_:ts AND ...the rest of your query 
+0

瓦爾,謝謝你們的回覆,當我做與_exists_查詢:TS仍爲其賦予SearchParseException 嵌套:SearchParseException [找不到[ts]的映射以進行排序]; – Narendra522

+0

您是否可以打開請求選項卡並使用發送給ES的完整查詢更新您的問題? – Val

+0

肯定更新查詢 – Narendra522

相關問題