Elasticsearch过滤结果不包括id

pfe*_*rel 5 lucene elasticsearch

我需要返回不包含某些ID的文档的结果.Elasticsearch允许我们指定允许哪些ID,但我认为无法禁止某些ID.在我的情况下,我想不返回用户已经看到的内容,因此每个用户的列表都不同.

Val*_*Val 12

您可以通过添加一个bool/must_not包含ids过滤器的过滤器来实现此目的,该过滤器包含您不希望出现的ID数组,如下所示:

{
  "query": {
    "bool": {
      "must": [
         ...                    <--- your other filters go here
      ],
      "must_not": [
        {
          "ids": {
            "values": [
              "id1", "id2"      <--- add all the ids you DON'T want in here
            ]
          }
        }
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)