-2

我不确定这是奇怪的行为还是我做错了什么,请检查一下-

{
 "query": {
     "bool" : {
        "should" : {
                    "match" : { "pty_forename" : "nathan" }
                   },
        "should" : {
                    "match" : { "pty_surname" : "smith" }
                   }
              }
         }
}

将其复制并粘贴到JSONLint 中,看看会发生什么,每当我尝试使用 JSON.Stringify() 解析它时,都会发生完全相同的事情。实际的问题是我试图解析的所有内容都没有成功解析,即丢失 -

"should":{
          "match" : {"pty_forename": "nathan"}
}

我做错了什么,有人可以提供一些见解吗?

谢谢。

4

1 回答 1

1

如果你有几个“应该”,它们应该在一个这样的数组中:

{
 "query": {
     "bool" : {
        "should" : [{
                    "match" : { "pty_forename" : "nathan" }
                   },{
                    "match" : { "pty_surname" : "smith" }
                   }]
              }
         }
}

或像这样:

{
 "query": {
     "bool" : 
     [{ 
    "should" : { "match" : { "pty_forename" : "nathan" }},
    "should" : { "match" : { "pty_surname" : "smith" }}
    }]
}
}

一切都取决于您想要的实现。 来自 W3 学校的示例。

于 2013-08-14T09:55:01.447 回答