2017-02-14 2 views
0

Я ввожу нижеприведенный запрос, и ответ, который возвращается, - это ошибка 400, в которой говорится: «Метаданные не вложенного типа» может ли кто-нибудь мне помочь?Я продолжаю получать ошибку, используя NEST «Метаданные не из вложенного типа»

var res = client.Search (s => s.Query (q => q.Nested (n => n.Path (b => b.Metadata) .Query (nq => nq.Terms (t => t.Field (f => f.Metadata.ObjectType) .Terms («Doc»))). IgnoreUnmapped())));

+0

Вы используете «вложенный» запрос с полем документа, который не отображается как «вложенный» тип; сопоставление Elasticsearch по умолчанию для свойства C# POCO, которое является POCO, является «объектом». Посмотрите на отображение в индексе для рассматриваемого типа документа. –

ответ

0

Я понял. Как уже упоминал Russ Cam в комментариях, документ не был сохранен с запросом, в котором указано вложение объектов. Я изменил свой запрос на:

var res = client.Search (s => s.Query (q => q.Match (m => m.Field (f => f.Metadata.ObjectId) .Query ("90.en.AU") Оператор (Operator.And)))).

Это работало для меня, поскольку оно обрабатывало поле метаданных как нормальное поле, а не вложенное поле.

Смежные вопросы