1)您用一些字段填充文档,然后搜索这些字段。方法是正确的。我也有一个带有链接到图像的 URL 的字段。
2) 是的,因为它们必须被存储,并且您按存储字节付费。但是,如果您需要它们,因为它们构成了您想要提供的数据的一部分,那么就是这样。
3) 是的,如果您愿意,您可以只搜索指定的字段。例如:
query_string = "产品:钢琴"
该查询只会搜索字段“ product
”。此处详述:https ://developers.google.com/appengine/docs/python/search/#Python_Searching_for_documents_by_their_contents
4)您可以使用 appstats 确定时间等:https ://developers.google.com/appengine/docs/python/tools/appstats
但在我看来,如果您只获取文档 ID,然后无论如何只获取所有这些文档,那么这将比获取整个文档更慢,因为您正在对数据库进行更多往返查询。如果您没有全部获取它们并且只使用匹配的第一个,或者文档很大,那么它可能会更慢。谁知道!你的用例就是你的用例。
为什么不通过实施各种方法自己运行一些测试,然后看看哪种方法最适合您的用例?Appstats 将对此有所帮助。
如果您想在获取初始文档后检索到的可搜索文档链接到的数据存储中存储其他数据(例如,您将数据存储密钥存储在文档中),那么一切都需要成本,速度或 $$。两者都是有效的选项,具体取决于您的(再次!)用例。