Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何索引嵌套数组_Json_Indexing_Couchbase_N1ql - Fatal编程技术网

Json 如何索引嵌套数组

Json 如何索引嵌套数组,json,indexing,couchbase,n1ql,Json,Indexing,Couchbase,N1ql,如何为上面的文档编制索引(Couchbase中的N1QL查询),以通过嵌套数组(doc=>groups=>items=>item.SerialNumber)中的SerialNumber字段加快搜索速度 样本: { "Id": "0012ed6e-41af-4e45-b53f-bac3b2eb0b82", "Machine": "Machine2", "Groups": [ { "Id": "0fed9b14-fa38-e511-893a-00112

如何为上面的文档编制索引(Couchbase中的N1QL查询),以通过嵌套数组(doc=>groups=>items=>item.SerialNumber)中的SerialNumber字段加快搜索速度

样本:

{
  "Id": "0012ed6e-41af-4e45-b53f-bac3b2eb0b82",
  "Machine": "Machine2",
  "Groups": [        
    {
      "Id": "0fed9b14-fa38-e511-893a-001125665867",
      "Name": "Name",
      "Items": [
        {
          "Id": "64e69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H365",
          "Position": 73
        },
        {
          "Id": "7be69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H364",
          "Position": 72
        }
      ]
    },
    {
      "Id": "0fed9b14-fa38-e511-893a-001125665867",
      "Name": "Name",
      "Items": [
        {
          "Id": "64e69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H365",
          "Position": 73
        },
        {
          "Id": "7be69b14-fa38-e511-893a-001125665867",
          "SerialNumber": "1504H364",
          "Position": 72
        }
      ]
    }
  ]
}
我的问题是:

CREATE INDEX idx_serial ON `aplikomp-bucket` 
(ALL ARRAY(ALL ARRAY i.SerialNumber FOR i IN g.Items END ) FOR g In Groups END);

谢谢。索引似乎起作用,但例如,如果您需要投影SerialNumber,请选择i.SerialNumber,然后在
APLICOMP bucket
上尝试此创建索引idx_serial(所有数组(对于g中的i项结束,所有i.SerialNumber都不同)对于g中的组结束);从
aplikomp bucket
中选择i.SerialNumber作为未列出的a.组作为g未列出的g.项目作为i,其中i.SerialNumber>123;
CREATE INDEX idx_serial ON `aplikomp-bucket` (DISTINCT ARRAY(DISTINCT ARRAY i.SerialNumber FOR i IN g.Items END ) FOR g In Groups END);

SELECT META().id FROM `aplikomp-bucket` AS a
WHERE ANY g IN a.Groups SATISFIES (ANY i IN g.Items SATISFIES i.SerialNumber > 123 END) END;