我想对发票号码进行弹性搜索查询,该查询可以以OR关键字开头。弹性搜索不会返回以"开头的发票的任何结果;OR";而它返回以例如"0"开头的发票的结果;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"
}
}
}
Tldr
不确定它是否有文档记录,但我通过将保留的令牌包装在单引号'
中使其工作
示例
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'"
}
}
}