Google App Engine和SQL LIKE

有没有办法用类似于SQL LIKE语句的filter查询GAE数据存储区? 例如,如果一个类有一个字符串字段,并且我想找到该字符串中具有某些特定关键字的所有类,我该怎么做? 看起来JDOQL的匹配()不起作用……我错过了什么?

欢迎任何评论,链接或代码片段

正如GAE / J文档所说,BigTable没有这样的原生支持。 您可以将JDOQL String.matches用于“something%”(即startsWith)。 这就是全部。 否则在内存中评估它。

如果你有很多要检查的项目,你想要避免加载它们。 最好的方法可能是将输入分解为写入时间。 如果你只是用整个单词搜索那么这很容易

例如,“Hello world”变为“Hello”,“world” – 只需将两者都添加到多值属性中。 如果你有很多文本,你想避免加载多值属性,因为你只需要它来进行索引查找。 您可以通过创建“关系索引实体”来执行此操作 – 有关详细信息,请参阅bret slatkins Google IO talk。

您可能还想将输入分解为3个字符,4个字符等字符串或干掉单词 – 可能使用lucene stemmer。