1

Google App Engine で、文字列を含む文字列を照合するにはどうすればよいですか? 私のデータストアには「tester」が含まれており、「est」を渡すと、tester が返されます。

Filter myFilter =  new FilterPredicate("name",FilterOperator.IN, "est");

しかし、私はこのエラーを受け取ります:A collection of values is required

フィルターを正しく使用しているとは思えません。

4

3 に答える 3

1

説明した方法で IN フィルターを使用することはできません。IN は、文字列のリストを指定し、指定されたリスト内の文字列の 1 つと一致させたい場合に機能します。

あなたがやろうとしていることのために検索APIが存在します: https://developers.google.com/appengine/docs/python/search/overview

大なり/小なり検索を使用して部分文字列で始まる文字列を検索することは可能ですが、文字列内の任意の場所で部分文字列を検索する場合は、Search API を使用する必要があります。

于 2012-12-03T00:20:59.560 に答える
0

アプリ エンジンがワイルドカードをサポートしていなくても、考えられる解決策は、考えられるすべての連続した組み合わせをデータストアに挿入することです。

「デザイン」でワイルドカード検索をしたい場合

次のエントリを追加します。

'd'
'de'
'des'
'desi'
'desig'
'design'
'e'
'es'
'esi'
'esig'
'esign'
's'
'si'
'sig'
'sign'
'i'
'ig'
'ign'
'g'
'gn'
'n'

これらはすべて、'design' のワイルドカード検索で可能な組み合わせです。これはデータ保存メモリを非常に無駄にしますが。

于 2012-12-02T00:47:15.087 に答える