【问题标题】:How to escape special words such "AND" , "OR" in elastic search query string如何在弹性搜索查询字符串中转义“AND”、“OR”等特殊词
【发布时间】:2018-11-06 00:48:46
【问题描述】:

我正在尝试构建一个弹性搜索查询字符串查询。提到必须转义保留字符或特殊字符。

https://www.elastic.co/guide/en/elasticsearch/reference/2.1/query-dsl-query-string-query.html#_reserved_characters

保留字符为:+ - = && || >

未能正确转义这些特殊字符可能会导致语法错误,从而阻止您的查询运行。"

我的问题是:我怎样才能逃避“特殊词”,如“AND”或“OR”。例如,我想获取与文本“NOW OR NEVER”(在所有/任何字段上)匹配并且状态为“active”或“pending”的文档。下面的查询似乎不起作用(或者没有被 elasticsearch 转义)。

NOW \OR NEVER status:(active OR pending) 

【问题讨论】:

    标签: elasticsearch elasticsearch-dsl


    【解决方案1】:

    您可以尝试将文本用双引号括起来:

    GET your_index/_search?q=status:(active OR pending) AND "NOW OR NEVER"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多