Моя цель состоит в том, чтобы послать 3 отдельных запросов в одном запросе ES с помощью multiple searchElasticSearch Nest Msearch сноска не приносит все результаты
Я использую клиент NEST для отправки запроса на упругом поиска с помощью функции ниже
IElasticClient _elasticClient.LowLevel.Msearch<string>(query).Body;
Переходя в качестве исходного запроса с помощью завиток команда работает абсолютно нормально, но NEST MSearch возвращает только «event_results» и «venue_results», но не «location_results»
curl -XPOST localhost:9200/_msearch -d '
{"index" : "search_results"}
{ "size": 0, "query": { "bool": { "must": [ { "term": { "partnersites": "16" } }, { "match_phrase_prefix": { "name": "manchester" } } ] } }, "aggs": { "event_results": { "terms": { "field": "name.keyword", "size": 1 }, "aggs": { "top_tag_hits": { "top_hits": { "size": 1, "_source": [ "name", "groupedName", "groupedDisplayName", "groupedUrl", "eventCode", "venueName", "venueTown", "venueId", "venueUrl", "media", "categories.name" ] } } } } } }
{"index" : "search_results2"}
{ "size": 0, "query": { "bool": { "must": [ { "term": { "partnersites": "16" } }, { "match_phrase_prefix": { "venueName": "Manchester" } } ] } }, "aggs": { "venue_results": { "terms": { "field": "name.keyword", "size": 1 }, "aggs": { "top_tag_hits": { "top_hits": { "size": 1, "_source": [ "name", "groupedName", "groupedDisplayName", "groupedUrl", "eventCode", "venueName", "venueTown", "venueId", "venueUrl", "media", "categories.name" ] } } } } } }
{"index" : "search_results3"}
{ "size": 0, "query": { "bool": { "must": [ { "term": { "partnersites": "16" } }, { "match_phrase_prefix": { "venueTown": "manchester" } } ] } }, "aggs": { "location_results": { "terms": { "field": "name.keyword", "size": 1 }, "aggs": { "top_tag_hits": { "top_hits": { "size": 1, "_source": [ "name", "groupedName", "groupedDisplayName", "groupedUrl", "eventCode", "venueName", "venueTown", "venueId", "venueUrl", "media", "categories.name" ] } } } } } }
'
Кто-нибудь из вас знает, где может быть проблема?
Мой запрос массивный, и преобразование в синтаксис IELasticSearch занимает много времени, и команда elasticsearch, как правило, меняет синтаксис, поэтому его сложнее поддерживать. Можно ли получить те же результаты, но используя необработанный запрос? – ProgLearner