我想将Search API与已使用已定义模型(db.Model
)的应用程序一起使用。
例如,假设我的模型如下所示:
class Greeting(db.Model): author = db.StringProperty() content = db.StringProperty() date = db.DateTimeProperty()
现在如何使用Search API查询Greeting
实体?
我已阅读the documentation但老实说我不明白。
请给我一个非常简单的例子。
答案 0 :(得分:5)
你没有。
搜索API需要搜索您创建的“文档”,而不是搜索数据存储区中的模型。
您必须编写一个转换器,从模型中加载数据并创建可搜索的文档,然后将其放入索引中。
E.G。从文档中创建文档:
from google.appengine.api import search
search.Document(
doc_id='document id',
fields=[search.TextField(name='subject', value='going for dinner'),
search.HtmlField(name='body', value='<html>I found a place.</html>'),
search.TextField(name='signature', value='brzydka pogoda', language='pl')],
language='en')
因此该文档有3个单独的字段,可以单独搜索。