在调用完成建议器之前,我曾尝试根据某些排除条件过滤文档。
var response = Client.Search<Suggestion>(s => s
.Query(q => q.Bool(MustNot(m => m.SpanTerm(st => st.Field("foo").Value("bar"))))
.Suggest(su => su
.Completion("title", cs => cs
.Field(f => f.TitleSuggest)
.Prefix(searchText) .
)
.Size(10)
)
)
);
但这似乎不起作用。返回相同的结果集。
答案 0 :(得分:0)
进一步阅读后,使用标准布尔运算符似乎无法实现。上下文建议者是解决方案,但这不支持例如MustNot修饰符
https://www.elastic.co/guide/en/elasticsearch/reference/current/suggester-context.html