嗨,我的NEST查询中有以下描述符...
queryContainer.DateRange(b => dateRangeDescriptor);
queryContainer.MatchPhrase(b => matchPhraseDescriptor);
最后,我在以下中使用此QueryContainerDescriptor BoolQueryDescriptor
boolDescriptor.Must(q => queryContainer);
问题是尽管我可以在
dateRangeDescriptor
和matchPhraseDescriptor
中看到值,但在侧面queryContainer
中不可用。不知道这里出了什么问题。
最佳答案
Must
具有以下重载(在NEST 2.x中)
public BoolQueryDescriptor<T> Must(
params Func<QueryContainerDescriptor<T>, QueryContainer>[] queries)
{
// impl
}
public BoolQueryDescriptor<T> Must(
IEnumerable<Func<QueryContainerDescriptor<T>, QueryContainer>> queries)
{
// impl
}
public BoolQueryDescriptor<T> Must(
params QueryContainer[] queries)
{
// impl
}
因此,您需要传递一组查询以应用多个
must
子句,而不是将它们全部添加到一个QueryContainer
中。
关于elasticsearch - 为什么QueryContainer没有从描述符NESt C#更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699492/