如何在Elasticsearch中搜索没有特定字段的索引
我有一个拥有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的索引,有人可以帮我查询吗?
瓦尔,谢谢你们的回复,当我做与_exists_查询:TS仍为其赋予SearchParseException 嵌套:SearchParseException [找不到[ts]的映射以进行排序]; – Narendra522
您是否可以打开请求选项卡并使用发送给ES的完整查询更新您的问题? – Val
肯定更新查询 – Narendra522