我有100万个文档,其中有一个名为id的字段。所有100万个文档的id字段都不同。
例如:1.id:http://www.bing.com/search?q=malaysia. 2.id:http://www.google.com/search?q=singapore. 3.id:http://www.bing.com/search?q=india. 4.id:http://www.google.com/search?q=america 5.id:http://www.duckduckgo.com/?q=africa 6.id:http://www.duckduckgo.com/?q=asia
有人可以帮我构成一个查询,只在这里获取3个不同的网址。我只想获取google.com,bing.com,duckduckgo.com。
答案 0 :(得分:0)
可以将语法文本化,但这应该可行。只需使用脚本来拆分您的网址字符串即可。
{
"aggs": {
"urls": {
"terms": {
"field": "id",
"script" : "def path = doc['id'].value; int currentSplit = path.indexOf("//"); if (currentSplit > 0) { path = path.substring(currentSplit + 1); currentSplit = path.indexOf("/"); if (currentSplit > 0) { path = path.substring(0, currentSplit) } } return path"
}
}
}
}
如果您需要大量汇总,最好的做法是在文档上为域名建立索引:)。