我有很多搜索方法,所有搜索方法都使用相同的方法来执行查询。此共享方法的内容如下所示:
var result = await this.GetClient(requestContext).SearchAsync<TEntity>(r => queryBuilder(r, @params, requestContext).Skip(@params.Skip).Size(@params.Take));
我需要对所有搜索方法应用一些过滤(需要按deletedUtc字段过滤)。我的想法是扩展现有的查询(queryBuilder的结果)。但我找不到明显的解决方案。任何尝试做这样的事情
...queryBuilder(r, @params, requestContext).Query(a => a.DateRange(rng => rng.Field(e => e.DeletedUtc).GreaterThan(DateMath.Now))
重写查询本身。 PostFilter不是我要找的东西,我想从任何查询或聚合中排除已删除的项目。感谢。