elasticsearch 匹配查询在Elasticsearch中包含正斜杠,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch 匹配查询在Elasticsearch中包含正斜杠,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch 匹配查询在Elasticsearch中包含正斜杠

elasticsearch 匹配查询在Elasticsearch中包含正斜杠,elasticsearch,kibana,elasticsearch,Kibana,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": [ {

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行第6列出现词法错误。遇到:在:\“/5*\”之后,
我尝试将1/5替换为1\\/5,错误消失了,我可以得到一些结果,但它们不是我想要的

结果只包含“1”或“5”或两者都不包含,如何获得包含“1/5”的结果


非常感谢

该单\用于JSON转义。要使其进入查询字符串,需要对其进行双重转义:blabla\/bla\/bla\/bla\/bla 或 一刀
blabla/bla/bla/bla/bla

由于这是一个日期字段,如果您还将日期、月份和年份索引到三个单独的字段中,您可以使用更优化的方式进行查询,这将更加容易ranges@Val实际上这是一个文本字段,我只是用这个作为例子。。。我需要对该文件执行全文查询。你对此有什么想法吗?好的,因为你需要搜索前缀和中缀,我建议你看看下面提供这两种解决方案的线程: