使用Search API Python - Google App Engine大表

gat*_*her 5 python search google-app-engine bigtable gae-search

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

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

class Greeting(db.Model):
    author = db.StringProperty()
    content = db.StringProperty()
    date = db.DateTimeProperty()
Run Code Online (Sandbox Code Playgroud)

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

我已阅读文档但老实说我不明白.

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

Pau*_*ood 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')
Run Code Online (Sandbox Code Playgroud)

因此该文档有3个单独的字段,可以单独搜索.

文件类