I've read the latest documentation and am sure I can't answer my question.
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/query-dsl-query-string-query.html#query-string-syntax
The first DSL syntax succeeded
> GET /_search
> {
> "query": {
> "query_string": {
> "query": "(Succeed: false) AND NOT Error: bpm_warnning AND NOT Error: 本任务已经处理"
> }
> }
> }
If only the NOT condition is left, the elastic search results are a bit strange
> GET /_search
> {
> "query": {
> "query_string": {
> "query": "NOT Error: 本任务已经处理"
> }
> }
> }
The same negative syntax using simple_query_string will have similar results.
> GET /_search
> {
> "query": {
> "simple_query_string": {
> "fields": [ "Error" ],
> "query": "-bpm_warnning"
> }
> }
> }