在ElasticSearch中搜索以OR关键字开头的字符串

djmepvbi  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(224)

我想对以“或”关键字开头的发票号码进行ElasticSearch查询。ElasticSearch不会返回以“或”开头的发票的任何结果,但它会返回以“OP”开头的发票的结果。

{
  "query": {
    "query_string": {
      "query": "OR AND 123123",
      "default_field": "invoice_number"
    }
  }
}

我试过这些,但它们不起作用:

{
  "query": {
    "query_string": {
      "query": "(OR) AND (123123)",
      "default_field": "invoice_number"
    }
  }
}

{
  "query": {
    "query_string": {
      "query": "OR 123123",
      "operator" : "AND",
      "default_field": "invoice_number"
    }
  }
}
cu6pst1q

cu6pst1q1#

Tldr;

不确定是否在任何地方都有文档记录,但我设法通过将保留的令牌 Package 在单引号'中来使其工作

示例

POST /_bulk
{"index": {"_index": "74273735"}}
{"data": "This text contains an OR in caps"}
{"index": {"_index": "74273735"}}
{"data": "This text contains an AND in caps"}

GET 74273735/_search
{
  "query": {
    "query_string": {
      "default_field": "data",
      "query": "'OR'"
    }
  }
}

相关问题