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 拡張機能に渡します。そして、「yellow」を含む車のクエリを発行するだけです。

于 2016-03-09T16:45:11.510 に答える