Google app engine 试图理解在谷歌应用程序引擎上搜索文档的想法
我试图理解谷歌应用程序引擎的搜索API上文档的概念。我遇到的问题是存储文档背后的想法。例如,在我的数据库中,我有:Google app engine 试图理解在谷歌应用程序引擎上搜索文档的想法,google-app-engine,full-text-search,documents,Google App Engine,Full Text Search,Documents,我试图理解谷歌应用程序引擎的搜索API上文档的概念。我遇到的问题是存储文档背后的想法。例如,在我的数据库中,我有: class Business(ndb.Model): name = ndb... description = ndb... 对于每项业务,我都会存储一份文档,以便对名称和描述进行全文搜索。 我的问题是: 是这样吗?这是否意味着我们将每个实体存储两次,在两个不同的地方,只是为了使其可搜索 如果上面的答案是肯定的,有没有更好的方法 同样,如果对数字1的回答是肯定的,那么文
class Business(ndb.Model):
name = ndb...
description = ndb...
对于每项业务,我都会存储一份文档,以便对名称和描述进行全文搜索。
我的问题是:
我只是想确保我正确地思考了这个概念。在文档中存储实体意味着我必须在两个不同的位置维护每个实体。。。仅仅为了保持它的可搜索性似乎不是很理想 你已经解决了 搜索API允许应用程序执行类似Google的搜索 过度结构化的数据。您可以在多个不同类型的 数据(纯文本、HTML、atom、数字、日期和地理位置) 地点)。搜索返回匹配文本的排序列表。你可以 自定义结果的排序和显示 由于您无法“在”数据存储中搜索模型的内容,因此搜索API提供了对文本和html进行搜索的能力
因此,要将可搜索文本文档(例如产品描述)链接到数据存储中的模型(例如该产品的价格),您必须“手动”在文档和它们相关的数据存储对象之间建立链接。您也可以完全独立地使用搜索api和数据存储,因此您必须在中构建它们。另外,它们之间没有自动链接 你已经解决了 搜索API允许应用程序执行类似Google的搜索 过度结构化的数据。您可以在多个不同类型的 数据(纯文本、HTML、atom、数字、日期和地理位置) 地点)。搜索返回匹配文本的排序列表。你可以 自定义结果的排序和显示 由于您无法“在”数据存储中搜索模型的内容,因此搜索API提供了对文本和html进行搜索的能力
因此,要将可搜索文本文档(例如产品描述)链接到数据存储中的模型(例如该产品的价格),您必须“手动”在文档和它们相关的数据存储对象之间建立链接。您也可以完全独立地使用搜索api和数据存储,因此您必须在中构建它们。另外,它们之间没有自动链接 谢谢你,保罗,但这不是我正在做的吗?我基于我的模型创建文档,因此我将数据存储在数据存储中,并将其存储在搜索API文档中,使其可搜索,对吗?啊,我明白了。我误解了你的问题。您可以将文本存储在全文搜索系统中,并为每个文档存储一个附加字段(例如URL或数据存储密钥),该字段链接到数据存储中的实际产品(或任何内容)。所以你只会将文本存储在可搜索文本索引中,但一旦找到文档,你就可以检查它的(比如)产品代码字段,以确定该文档链接到哪个产品。好的,这基本上就是我正在做的,所以我想它确认了我的想法是正确的。直观地说,我认为您可以使用文档来描述数据存储中存储的数据,而无需在文档中实际存储数据存储实体。我的意思是,不是将数据实际存储在文档中,我直觉地认为文档可能只是用来描述数据存储模型/实体。是的,你必须“手动”在文档和它们相关的数据存储对象之间建立链接,因为您也可以完全独立地使用搜索api和数据存储。好了,它们之间没有自动链接,谢谢保罗-如果你用这个更新你的答案,我会把它标记为正确的。谢谢保罗,但这不是我正在做的吗?我基于我的模型创建文档,因此我将数据存储在数据存储中,并将其存储在搜索API文档中,使其可搜索,对吗?啊,我明白了。我误解了你的问题。您可以将文本存储在全文搜索系统中,并为每个文档存储一个附加字段(例如URL或数据存储密钥),该字段链接到数据存储中的实际产品(或任何内容)。所以你只会将文本存储在可搜索文本索引中,但一旦找到文档,你就可以检查它的(比如)产品代码字段,以确定该文档链接到哪个产品。好的,这基本上就是我正在做的,所以我想它确认了我的想法是正确的。直观地说,我认为您可以使用文档来描述数据存储中存储的数据,而无需在文档中实际存储数据存储实体。我的意思是,不是将数据实际存储在文档中,我直觉地认为文档可能只是用来描述数据存储模型/实体。是的,你必须“手动”在文档和它们相关的数据存储对象之间建立链接,因为您也可以完全独立地使用搜索api和数据存储。好了,他们之间没有自动链接,谢谢保罗-如果你更新你的答案,我会把它标记为正确的。