您好我的NEST查询中有以下描述符...
queryContainer.DateRange(b => dateRangeDescriptor);
queryContainer.MatchPhrase(b => matchPhraseDescriptor);
最后我在下面的 BoolQueryDescriptor
中使用了这个QueryContainerDescriptorboolDescriptor.Must(q => queryContainer);
问题是,虽然我可以在dateRangeDescriptor
和matchPhraseDescriptor
中看到值,但queryContainer
不能看到这些值。
不确定这里出了什么问题。
答案 0 :(得分:1)
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
。