在Google App Engine中,如何匹配包含字符串的字符串?我的數據存儲包含'tester',如果我傳入'est',則應該返回測試人員。如何使用過濾器匹配包含字符串的字符串 - Google App Engine
Filter myFilter = new FilterPredicate("name",FilterOperator.IN, "est");
但我收到此錯誤:A collection of values is required
我正確地使用過濾器,我不認爲。
在Google App Engine中,如何匹配包含字符串的字符串?我的數據存儲包含'tester',如果我傳入'est',則應該返回測試人員。如何使用過濾器匹配包含字符串的字符串 - Google App Engine
Filter myFilter = new FilterPredicate("name",FilterOperator.IN, "est");
但我收到此錯誤:A collection of values is required
我正確地使用過濾器,我不認爲。
儘管應用程序引擎不支持通配符,但可能的解決方案是將所有可能的順序組合插入數據存儲區。
所以,如果想做的「設計」
添加以下條目通配符搜索:
'd'
'de'
'des'
'desi'
'desig'
'design'
'e'
'es'
'esi'
'esig'
'esign'
's'
'si'
'sig'
'sign'
'i'
'ig'
'ign'
'g'
'gn'
'n'
這些是對「設計」通配符搜索所有可能的組合。儘管這非常浪費數據存儲內存。
您不能按照您所描述的方式使用IN濾鏡。如果你給出了一個字符串列表,並且想要匹配給定列表中的一個字符串,那麼IN工作。
搜索API存在你想要做什麼: https://developers.google.com/appengine/docs/python/search/overview
有可能發現使用搜索相比少大於/子字符串開頭的字符串,但你需要使用搜索API,如果你想在字符串中的任何位置找到子字符串。
由於字符串可以通過> =和<被compaired =你可以存儲組合:
設計
ESIGN
標誌
IGN
GN
ň
要搜索與「符號的所有名稱'在他們中,你會做一個查詢:
name> ='sign'AND name < ='sign \ uffffd'
實際上,您可能會將組合截斷限制爲4個字符;很少有人可能需要全部搜索結果來搜索所有名稱都是'n'的搜索結果。
它似乎無法在應用引擎上執行通配符搜索:http://stackoverflow.com/questions/1402769/wildcard - 搜索 - 上AppEngine上合蟒蛇 –