1

我在我的 iOS 应用程序中使用 Yapdatabase 作为存储引擎,我需要一个表示对象同一属性的多个值的索引。

示例:我将汽车对象存储在我的 Yap 数据库中。我的大多数汽车对象都有多种颜色,但我想有效地检索所有黄色汽车。

我对 YapDatabaseSecondaryIndexes 有点熟悉,但我无法将其融入我的场景。

我怎样才能有效地检索黄色汽车?

4

1 回答 1

1

有几个选择。如果您只处理少数几种颜色,那么您仍然可以使用 YapDatabaseSecondaryIndex。您可以配置索引以包含每种颜色的字段。

YapDatabaseSecondaryIndexSetup *setup = [[YapDatabaseSecondaryIndexSetup alloc] init];
[setup addColumn:@"red" withType:YapDatabaseSecondaryIndexTypeInteger];
[setup addColumn:@"blue" withType:YapDatabaseSecondaryIndexTypeInteger];
...

然后每辆车只需为每种颜色设置“标志”。

如果您要处理很多不同的颜色,那么使用 FullTextSearch 扩展可能会更有效。基本上,您将为每辆车创建一个包含所有颜色的字符串,并将该字符串交给 FullTextSearch 扩展。然后您可以简单地对包含“黄色”的汽车发出查询。

于 2016-03-09T16:45:11.510 回答