Я запускаю запрос, который возвращает 10 результатов. В моем документе есть свойство Type. Значение этого свойства для некоторых записей — пустая строка, а для некоторых других записей — «AudioAlbum» или «AudioRington».
Я хочу сделать две вещи: 1- Исключить из результатов поиска документы, свойство Type которых не имеет значения. 2- Получить только AudioAlbums (как другой поиск).
Мой код поиска для получения AudioAlbums таков:
var docs = client.Search<content>(
b => b.Type("content")
.Query(q => q.Fuzzy(fz => fz
.OnField("title").Value(keyWord)
.OnField("artists.name")))
.Filter(x => x.Term("type", "AudioRingtone")))
.Documents.ToList();
Без метода расширения Filter я получаю 10 записей (включая два AudioAlbums). когда я добавляю метод .Filter, я получаю нулевые записи.
Также я хочу исключить записи, свойство Type которых не имеет значения. Опять же, мой код (приведенный ниже) не записывает никаких результатов:
BaseFilter notFilter = Filter.Not(x => Filter.Term("Type", string.Empty));
var docs = client.Search<content>(
b =>
b.Type("content")
.Query(q => q.Fuzzy(fz =>fz.OnField("title")
.Value(keyWord)
.OnField("artists.name")))
.Filter(notFilter)).Documents.ToList();
Что не так с моим кодом?