java – JSON对象子字段上的DynamoDB查询

是否可以在dynamoDB表中搜索json对象的子字段?

我的桌子:

Item: "item name",Location: {...},Iteminformation :  
{  
   ItemName: "itemName",ProductLine: {  
      Brand: "Razer",ManufacturerSource: "Razer"  
}

最初在这个表中Iteminformation将是一个键并搜索一个对象,我们将为项目信息构造json,然后用json字符串作为键进行查询.现在我们需要实现该对象的子字段搜索,这可以每次包含不同的字段,即isDigital:“true”.

我在问题中注意到:
DynamoDB advanced scan – JAVA

答案似乎是否定的,我将不得不将这些字段分开.但我很好奇PHP库为什么以及如何在dynamoDB中查询JSON对象上的子字段.那么将列作为单独的字段存储然后在所有字段上添加索引真的没有更好的解决方案吗?

最佳答案
在查看文档后,按照我原先的意图实现搜索字段是不可行的.问题是,虽然值是JSON,但它们存储为字符串文字,因此我必须进行重构以开始存储为JSON对象.另外,我无法添加列和索引,因为搜索可以在任意数量的字段上操作,而不同的项可以具有不同的字段,即项可以具有Brand,Batteryinformation,Name.鉴于要求是这些子字段中的任何一个都应该是可搜索的,最好在Cloud Search或ElasticSearch中执行此操作,我可以在其中索引和搜索对象列中的任意字段和值.

由于这是一个DynamoDB表,我将使用CloudSearch,因为它提供了更容易的索引选项和数据集成.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...