Внутри экземпляра ElasticSearch я пытался искать элементы, сопоставляя одно поле с несколькими значениями. т.е.:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Surname { get; set;}
}
Если у меня несколько пользователей и я хочу фильтровать по тем, кого зовут Джон или Майк, до версии 6.x эта реализация работала:
private QueryContainer ApplyNameFilter(QueryContainerDescriptor<User> q, SearchParameters searchParameters)
{
return (searchParameters.Names != null && searchParameters.Names .Any()) ?
q.Terms(z => z.Field(f => f.Name).Terms(searchParameters.Names))
:
q;
}
Обратите внимание, что внутри SearchParameters, Names является IEnumerable
Как только я обновил экземпляр ElasticSearch до 7.x, а также библиотеку NEST до 7.3.1, этот фильтр больше не работает.
Обращаясь к документации Поиск NEST Я не совсем уверен, что мне нужно там сделать, чтобы заставить ее работать снова.
Может ли кто-нибудь мне помочь?
Заранее спасибо