Мне сложно найти информацию о том, как искать вложенные свойства с помощью клиента Nest в C #.
У меня есть объекты электронной почты в индексе с примерно такой формой:
{
subject: “This is a test”,
content: “This is an email written as a test of the Elasticsearch system. Thanks, Mr Tom Jones”,
custodians: [
{
firstName: “Tom”,
lastName: “Jones”,
routeType: 0
},
{
firstName: “Matthew”,
lastName: “Billsley”,
routeType: 1
}
]
}
Вы должны увидеть, что там есть массив, называемый хранителями, который представляет собой список всех отправителей и получателей электронной почты. В конструкторе запросов в стиле Fluent в .Net я могу создать запрос очень хорошо, когда я использую тему, контент и другие свойства «первого уровня». Но я могу включить в некоторые запросы только хранителей, у которых routeType = 0. Кажется, я не могу найти каких-либо указаний о том, как этого добиться. Есть идеи?
Например, запрос для термина «пикник» в поле темы будет выглядеть так:
Client.SearchAsync(m => m
.Query(q => q
.Match(f => f
.Field(msg => msg.Subject)
.Query(“picnic”))));
Каким будет запрос на получение сообщений только из индекса с routeType = 0 и lastName = «Jones»?
К вашему сведению: это относится к форумам Elasticsearch. Если я получу хорошее предложение, я добавлю его сюда.