Java 谷歌应用程序引擎搜索API赋予某些字段比其他字段更高的优先级

Java 谷歌应用程序引擎搜索API赋予某些字段比其他字段更高的优先级,java,google-app-engine,Java,Google App Engine,只是在调查谷歌应用程序引擎的能力,并对其搜索api非常感兴趣。我喜欢你如何定义不同的字段来自动标记,并以不同的方式对搜索结果进行排序 我的问题是,您能否对结果进行排序,使某些字段比其他字段获得更高的优先级 例如: 有两个字段的文档,标题和正文。如果匹配标题的搜索查询比匹配正文的查询排名更高的话 这可能吗 干杯不幸的是,现在不可能。从文件中: 默认情况下,搜索按降序返回结果。也由 默认情况下,搜索API将每个文档的排名设置为秒 自2011年1月1日起。这将产生最新的文档 先回来。但是,如果不需要对

只是在调查谷歌应用程序引擎的能力,并对其搜索api非常感兴趣。我喜欢你如何定义不同的字段来自动标记,并以不同的方式对搜索结果进行排序

我的问题是,您能否对结果进行排序,使某些字段比其他字段获得更高的优先级

例如:

有两个字段的文档,标题和正文。如果匹配标题的搜索查询比匹配正文的查询排名更高的话

这可能吗


干杯

不幸的是,现在不可能。从文件中:

默认情况下,搜索按降序返回结果。也由 默认情况下,搜索API将每个文档的排名设置为秒 自2011年1月1日起。这将产生最新的文档 先回来。但是,如果不需要对文档进行排序 添加它们时,您可以将秩用于其他目的。假设 你有房地产申请。客户最想要的是 按价格分类。对于有效的默认排序,可以设置 与房价成正比

如果您需要多个排序订单,如从低到高的价格和 从高到低,您可以为每个订单创建单独的索引。一个索引 将有秩=价格,另一秩=最大价格(自秩 必须是肯定的)

在您的用例中,您可以在一个查询中检索标题中有匹配项的文档,然后在第二个查询中检索正文中有匹配项的文档。显然,您可以指定不同的规则(甚至一组规则),例如:

  • 如果第一个查询返回的结果超过X个,请不要执行第二个查询
  • 按标题检索前20个文档,如果最后一个文档的日期小于A,则按正文检索前10个文档
  • 按标题检索最佳15个文档,按正文添加最佳5个文档

等等。当然,规则取决于您的领域以及您尝试对文档进行优先级排序的方式。

谢谢,这是一个经过深思熟虑的答案