0

我正在尝试在 GAE 的数据存储中实现对某个实体类型的关键字/标签搜索:

class Docs(db.Model):
    title = db.StringProperty()
    user = db.StringProperty()
    tags = db.StringListProperty()

我还编写了一个非常基本的搜索函数(使用虚假的标签列表,而不是数据存储值),它接受一个查询字符串并将其与每组标签匹配。它根据与标签匹配的查询词数对 Docs 进行排名。这几乎就是我需要做的所有事情,除了使用实际的数据存储。

我不知道如何获取实际的数据存储值。为了使我的搜索功能正常工作,我需要数据存储中所有实体的列表,这是不可能的 (?)。

我还尝试研究 GAE 的实验性全文搜索和关系索引实体作为一种在不使用我编写的函数的情况下搜索数据存储的方法。两者都没有成功。

关于如何根据标签搜索实体的任何其他想法?

4

1 回答 1

1

这是一个非常简单的查询,如果您需要查找所有带有“findme”标签的文档,很简单:

num_results = 10
query = Docs.all().filter("tags in", "findme")
results = query.fetch(num_results) # get list of results

有据可查: https ://developers.google.com/appengine/docs/python/datastore/queries

于 2012-09-01T04:06:17.947 回答