Json 如何索引嵌套数组
如何为上面的文档编制索引(Couchbase中的N1QL查询),以通过嵌套数组(doc=>groups=>items=>item.SerialNumber)中的SerialNumber字段加快搜索速度 样本: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
{
"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;