我需要返回不包含具有特定ID的文档的结果。Elasticsearch允许我们指定允许使用哪些ID,但是我看不到任何禁止某些ID的方法。在我的情况下,我不想返回用户已经看到的内容,因此每个用户的列表都不同。
您可以通过添加一个bool/must_not过滤器来实现此目的,该过滤器包含一个ids过滤器,该过滤器带有您不想显示的ID数组,如下所示:
bool/must_not
ids
{ "query": { "bool": { "must": [ ... <--- your other filters go here ], "must_not": [ { "ids": { "values": [ "id1", "id2" <--- add all the ids you DON'T want in here ] } } ] } } }