我正在尝试通过查询一些表明对象是否已经处理过的字段来从 flex 搜索中获取数据。我们称之为“isHandled”。

有一些没有此字段索引的对象。
有什么方法可以获取“isHandled”不是“true”(错误甚至丢失)的数据吗?

谢谢

最佳答案

您可以使用exists查询来实现。该查询将返回isHandled为false或不存在的所有文档。

{

  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "isHandled": "false"
          }
        },
        {
          "bool": {
            "must_not": {
              "exists": {
                "field": "isHandled"
              }
            }
          }
        }
      ]
    }
  }
}

10-08 04:44