使用Search API Python - Google App Engine大表

时间:2012-11-09 09:29:07

标签: python google-app-engine search bigtable gae-search

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

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

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

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

我已阅读the documentation但老实说我不明白。

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

1 个答案:

答案 0 :(得分:5)

你没有。

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

  1. 使用字段构建文档以描述您希望的数据 搜索
  2. 创建您要搜索的文档索引
  3. 构建查询以搜索索引
  4. 构建搜索请求以针对应用程序中的文档运行查询     为用户定制他们的演示文稿
  5. 您必须编写一个转换器,从模型中加载数据并创建可搜索的文档,然后将其放入索引中。

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

    The Document Class