В поиске по эластичности У меня есть индекс, содержащий пользователей и URL-адреса, которые они посетили. Я хочу, чтобы иметь возможность искать несколько пользователей и найти общие URL-адреса, которые они посетили.Эластичный поиск - поиск данных, общих для нескольких запросов
я могу захватить URL-адресов для одного пользователя:
{
"size": 0,
"query": {
"filtered": {
"query": {
"query_string": {
"query": "user:bob"
}
},
"filter": {
"bool": {
"must": [{
"range": {
"@timestamp": {
"gte": 1430456930549,
"lte": 1430666630549
}
}
}],
"must_not": []
}
}
}
},
"aggs": {
"1": {
"terms": {
"field": "url",
"size": 0,
"order": {
"_count": "desc"
}
}
}
}
}
Но как я объединить результаты от каждого пользователя (делает какое-то пересечение). Я могу сделать это программно, но может ли Elastic Search сделать это с какой-то агрегацией?
Благодарим за информацию - но это дает такие же результаты, как если бы я запрашивал каждого пользователя в отдельности, и он не выполняет каких-либо слияний/пересечений данных. – thelok
@thelok Я сначала неправильно понял ваш вопрос, см. Расширенный ответ о значительном объединении терминов. Хотя он не дает точно то, что вы ищете, но вы можете использовать его. – tiurin