Ravendb.Фильтровать документы, рассмотренные для предложений - PullRequest
1 голос
/ 23 апреля 2019

Я хотел бы использовать запрос предложений и фильтровать документы, которые будут рассматриваться в качестве предложений по нескольким полям. Это вообще возможно? Я не смог найти ничего об этом в документации ravendb ссылка на документ

Я пытался добавить условия фильтра в запрос, но безуспешно

using (IDocumentSession documentSession = _storeProvider.GetStore().OpenSession())
            {
                var queryable = documentSession.Query<SearchableProduct>("SearchableProducts");

                var result = queryable
                    //I would like to filter by this field!
                    .Where(m => m.BrandNo == query.BrandNumber)
                    .Suggest(new SuggestionQuery
                {
                    Term = query.SearchTerm,
                    Accuracy = 0.4f,
                    Field = nameof(SearchableProduct.ProductName),
                    MaxSuggestions = 10,
                    Distance = (StringDistanceTypes)2,
                    Popularity = true
                });

                return result.Suggestions;
            }

Ravendb версия: 3.0

1 Ответ

1 голос
/ 23 апреля 2019

Нельзя использовать дополнительные фильтры для запроса предложений. То, как работает предложение, оценивает поисковый термин по сохраненным в индексе терминам, не учитывая другие поля, которые могут там применяться.

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

...