Elastic Search如何构造过滤条件词条

时间:2019-02-26 11:54:44

标签: elasticsearch nest

我正在尝试仅过滤搜索结果,我想动态添加多个过滤器。

我的过滤器是字段名称和字段值的列表

例如

   public class filter
    {
        public string val{ get; set; }
        public string field{ get; set; }

    }

我到达需要添加后置过滤条件的那一部分,但是我不知道如何构造它。

  List<TermQuery> tl = new List<TermQuery>();
        foreach (var item in filters)
        {
            TermQuery t = new TermQuery();
            t.Field = item.field;
            t.Value = item.val;

            tl.Add(t);
        }

var catSearch= client.Search<dynamic>(s => s.From(from).Size(20).Source(x => x.Query(
            q => q.Bool(
                b => b.Must(
                    l => l.Terms(
                        t => t.Name("KEYWORDS").Field("KEYWORDS").Terms(terms)))).PostFilter(f => f.Terms(l=> {

          //Need to add values and field names to post filter here

          //Add tl here as the post filters

             return l;
         })));

我看过here,但我仍然不明白如何动态添加帖子过滤器

请帮助我动态构建帖子过滤器。

谢谢。

0 个答案:

没有答案