应用引擎文档中的字段可以是另一个文档吗?

时间:2014-04-27 15:51:15

标签: java google-app-engine document google-search-api

要在appengine中创建文档,我可以这样做

Document document = Document.newBuilder().setId("document id")
   .setLocale(Locale.UK)
   .addField(Field.newBuilder()
       .setName("subject")
       .setText("going for dinner"))
   .addField(Field.newBuilder()
       .setName("body")
       .setHTML("<html>I found a restaurant.</html>"))
   .addField(Field.newBuilder()
       .setName("signature")
       .setText("ten post jest przeznaczony dla odbiorcy")
       .setLocale(new Locale("pl")))
   .addField(Field.newBuilder()
       .setName("tag")
       .setText("food"))
   .addField(Field.newBuilder()
       .setName("tag")
       .setText("friend"))
   .build();

我可以将其中一个addField值设置为文档吗?

我需要以下设置

书   作者   价钱   评论   评论   审查//很多很多评论

评分   用户   评分   评论

如何为app-engine Search API创建此复合文档?

2 个答案:

答案 0 :(得分:0)

在单个应用引擎搜索索引中,您不能拥有这样的复合文档。但是,您还可以执行其他操作:

  1. 文档可以包含多个具有相同名称的字段。也就是说,您可以多次添加名为“review”的字段,每次都有不同的内容。
  2. 您可以创建单独的索引,一个用于包含书籍文档的书籍数据,另一个用于包含审阅文档的审阅数据。
  3. 这实际上取决于您的搜索使用模式。

答案 1 :(得分:0)

您可以创建单独的索引,如下所示:

  • 图书
  • 评论

在评论索引中,您还可以拥有图书ID,并使用它来查找特定图书的评论。