Elasticsearch版本:6.3.2
我在搜索包含正斜杠(/)的属性值时遇到问题。 索引就像:
{
"day": 1/5/2018
},
{
"day": 2/3/2017
},
{
"day": 5/7/2018
}
...
现在我要搜索“ 1/5”并获取包含“ 1/5”的记录。
查询是:
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"match": {
"day": "1/5*"
}
},
{
"query_string": {
"query": "*1/5*",
"field": day
}
}
]
}
}
但是我有一个例外:
"Cannot parse '*1/5*': Lexical error at line 1, column 6. Encountered: <EOF> after : \"/5*\"",
我尝试将1/5替换为1 \\ / 5,错误消失了,我可以得到一些结果,但是我不想要它们。
结果仅包含“ 1”或“ 5”,或者都不包含,如何获得包含“ 1/5”的结果?
非常感谢!
答案 0 :(得分:0)
单个\用于JSON转义。要使其进入查询字符串,您需要对其进行两次转义: blabla \ / bla \ / bla \ / bla 要么 一斜杠 blabla / bla / bla / bla