0

我对 OrientDB 很陌生,我正在尝试创建一个结构来插入和检索具有嵌套字段的大数据,但我找不到合适的解决方案或指南。

这是我要创建的表的结构:

{
  UID,
  Name,
  RecordID,
  RecordData: [
    {
      RAddress,
      ItemNo,
      Description
    },
    {
      RAddress,
      ItemNo,
      Description
    },
    {
      RAddress,
      ItemNo,
      Description
    }
    ....Too many records....
    ]
},
{
  UID,
  Name,
  RecordID,
  RecordData: [
    {
      RAddress,
      ItemNo,
      Description
    },
    {
      RAddress,
      ItemNo,
      Description
    },
    {
      RAddress,
      ItemNo,
      Description
    }
    ....Too many records....
    ]
}
....Too many records....

现在,我想通过批量查询 ItemNo 和 RAddress 从表中检索 Description 字段。

例如,我有 50K(50000) 对 UID 或 RecordID 和 ItemNo 或 RAddress,基于此数据我想检索描述字段。我想做的是用最快的方法。那么有人可以建议我对这项任务进行很好的查询吗?

我有 500M 条记录,其中大部分记录包含 10-12 个单词。

任何人都可以建议 CRUD 查询吗?

提前致谢。

4

1 回答 1

1

您可能希望使用以下内容创建单个记录:

INSERT INTO Test CONTENT {"UID": 0,"Name": "Test","RecordID": 0,"RecordData": {"RAddress": ["RAddress1", "RAddress2", "RAddress3"],"ItemNo": [1, 2, 3],"Description": ["Description1", "Description2", "Description3"]}}

这将使您开始使用嵌入式值和 JSON,但是,如果您想进行批量插入,您应该编写一个函数,有很多方法可以这样做,但如果您想留在 Studio,请转到 Function 选项卡。

至于检索部分:

SELECT RecordData[Description] FROM Test WHERE (RecordData[ItemNo] CONTAINSTEXT "1") AND (RecordData[RAddress] CONTAINSTEXT "RAddress1")
于 2017-08-14T17:39:04.883 回答