Эластичный поиск, как структурировать пост-фильтр - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь отфильтровать только свои результаты поиска, у меня есть несколько фильтров, которые я хочу динамически добавить.

Мои фильтры представляют собой список имен полей и значений полей

например

   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;
         })));

Я посмотрел здесь но я все еще не понимаю, как динамически добавлять пост-фильтры

Пожалуйста, помогите мне динамически структурировать пост-фильтр.

Заранее спасибо.

...