0
私はCouchbaseの中で、文書のこれらのタイプを持っている:Couchbaseのインデックス
{
delete: true,
entity: {
id: "1aec5ee9-bb4b-494d-9cfd-b7d890abad76",
name: 'Bob'
}
_class: "com.company.package.A"
}
{
delete: false,
entity: {
id: "5996c870-3b00-4c6a-a569-52b0c9e8adc9",
city: 'London'
}
_class: "com.company.package.B"
}
これらのクエリのために良いだろうどのようなインデックス:
select * from bucket where _class = "com.company.package.A" and delete=true and entity.name = "Bob"
select * from bucket where _class = "com.company.package.B" and delete=false and entity.city = "London"
- GSI _class
- GSIのために削除 のために
- エンティティ名のGSI(_class = "com.company.package.A"の場合)
- entity.cityためのGSI、_class = "com.company.package.B"
OR
- GSIフィールド{entity.name、_class、削除}の基を表し、場合_class = "com.company.package.A"
- _class = "com.company.package.B"の場合、フィールドグループ{entity.city、_class、deleted}のGSI
- 別のGSIインデックスを作成しないでください_classで削除されました。