5

我想将 Search API 与已使用定义模型 ( db.Model) 的应用程序一起使用。

例如,假设我的模型如下所示:

class Greeting(db.Model):
    author = db.StringProperty()
    content = db.StringProperty()
    date = db.DateTimeProperty()

现在如何使用 Search API 来查询Greeting实体?

我已经阅读了文档,但老实说我不明白。

请给我一个非常简单的例子。

4

1 回答 1

5

你没有。

搜索 API 需要搜索您创建的“文档”,而不是数据存储中的模型。

  1. 构建具有字段结构的文档以描述您希望搜索的数据
  2. 创建要搜索的文档索引
  3. 构造查询以搜索索引
  4. 构建搜索请求以针对应用程序中的文档运行查询 评分结果并自定义其向用户的呈现

您必须编写一个转换器,从您的模型中加载数据并创建可搜索的文档,然后将其放入索引中。

EG 从文档中创建一个文档:

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 个单独的字段,可以单独搜索。

文档类

于 2012-11-09T10:13:36.873 回答