gpt4 book ai didi

java - Google App Engine 搜索 API 给予某些字段比其他字段更高的优先级

转载 作者:行者123 更新时间:2023-12-02 05:43:11 25 4
gpt4 key购买 nike

刚刚研究 Google App Engine 的功能,对其搜索 API 非常感兴趣。我喜欢如何定义不同的字段以自动标记化并以不同的方式对搜索结果进行排序。

我的问题是,您能否以某种方式对结果进行排序,使某些字段比其他字段具有更高的优先级?

示例:

具有两个字段的文档:标题和正文。如果与标题匹配的搜索查询比与正文匹配的查询排名更高,则会出现这种情况。

这可能吗?

干杯

最佳答案

不幸的是,目前还不可能。来自文档:

By default, search returns its results by descending rank. Also by default, the Search API sets the rank of each document to seconds since Jan 1st 2011. This results in the freshest documents being returned first. However, if you don’t need documents to be sorted by the time they were added, you can use rank for other purposes. Suppose you have a real estate application. What customers want most is sorting by price. For an efficient default sort, you could set the rank to the house price.

If you need multiple sort orders such as price low-to-high and price high-to-low, you can create a separate index for each order. One index would have rank = price and the other rank = MAXINT-price (since rank must be positive).

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

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

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

关于java - Google App Engine 搜索 API 给予某些字段比其他字段更高的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24345249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com