当前位置: 首页 > 面试题库 >

在Google App Engine数据存储区中搜索以前缀开头的字符串

申查猛
2023-03-14
问题内容

我想搜索名称以特定字符串开头的所有实体,这在数据存储区中可能吗?

我已经试过了:

q = datastore.NewQuery("Places").Filter("Name > ", "a")

但这是行不通的。

如果这不可能,您可以向我建议什么替代解决方案?BigQuery?BigTable或App Engine上的其他服务?


问题答案:

这是可能的,但要结合使用两个不等式过滤器。

假设您要列出Places具有"li"前缀的列表。这可以用查询来描述,该查询列出按字典顺序列出Places的大于(或等于)"li"
小于前缀的下一个前缀。"li"``"lj"

这就是GQL的样子:

SELECT * FROM Places WHERE Name > 'li' AND Name < 'lj'

Go中的代码如下所示:

q = datastore.NewQuery("Places").Filter("Name >", "li").Filter("Name <", "lj")

这将列出Places名称的位置,例如:

liam
lisotto
lizst

但将排除以下名称:

abc
ljoi
lj
qwerty

需要注意的一件事:小写字母和大写字母在字典顺序上是不同的,因此例如"List"小于"li"(即使"list"大于"li")!



 类似资料:
  • 问题内容: 我有一个文件如下: 我想得到: 我可以编写一个Ruby脚本,但是如果不需要的话更好。 将包含。例如,这是一条路径。 问题答案: 如果包含,则可以使用不在中的任何其他字符,或转义,因此命令变为

  • 问题内容: 如何将以空格或逗号分隔的字符串传递给存储过程和过滤结果?我正在尝试做类似的事情- 然后是我要首先存储的过程 查找所有具有名字或姓氏的记录,例如key1 使用名字或姓氏(例如key2)过滤步骤1 使用名字或姓氏(如键3)过滤步骤2 另一个例子: 如果我搜索任何以下内容,则应返回每个内容? “ xyz开发人员”返回2行 “ xyz abc”返回1行 “ abc开发者”返回1行 “ hell

  • android room查询将如何匹配一列数据?数据是否完全匹配或以搜索字符串开头 这似乎只给了我确切的匹配 谢谢

  • 问题内容: 在文档中,某些类型(例如数字和日期)指定存储默认为no。但是该字段仍然可以从json中检索。 令人困惑。这是否表示_source? 有没有办法根本不存储字段,而只是对其建立索引并进行搜索? 问题答案: 默认情况下,不存储任何字段类型。只有领域。这意味着您始终可以取回发送给搜索引擎的内容。即使您要求特定的字段,elasticsearch也会为您解析该字段并将其退还给您。 您可以根据需要禁

  • 我有一个ArrayList,其中包含一些按字母顺序排序的唯一字符串。 我想在列表中存储字符串的索引,它以数组中的字符开始,该数组有27个槽对应于每个字母字符,其他字符有一个额外的槽。 对于eg. 在公司和家庭之间生活13天后,重要的家庭生活意味着下一个国家的生活可能是一样的 所以当我遍历这个列表时,如果我找到一个以char'a'开头的单词,它应该将该单词的索引放在我的数组[0]中的列表中...就像

  • 我有一个通过ORM保存到数据库的对象。对象有一个字符串数组,每个对象的数组长度可以不同。我想知道在db中存储字符串数组的标准做法(例如,我是否应该将所有字符串存储在一个字段中作为csv等)?