5

在我的应用程序中,我希望搜索 API 对name字段中的匹配项进行评估,高于其他字段中的匹配项。

用户还可以填写“关于”消息,其中包含更多文本,因此更有可能在那里发生匹配。有没有办法做到这一点?

4

2 回答 2

3

SortExpression ( https://developers.google.com/appengine/docs/python/search/sortexpressionclass ) 提供了一种基于特定表达式设置排序的方法,但它仅提供文档分数(即不是每个字段) .

另一个(可能是坏主意)是仅按名称字段搜索,使用像“名称:my_search_term_here”这样的查询字符串

因此,据我所知,Google App Engine 的 Search API 无法在搜索期间偏向某个字段(即类似于 ApacheSolr Lucene 中的 ^ 运算符)。

于 2013-11-23T21:47:39.503 回答
0

我不知道 Google AppEngine 中的此功能。话虽如此,您可以将这个问题分为两个步骤。首先在名称字段中搜索一个术语,它会为您提供一个文档列表,称为 list1。然后在不太重要的字段中搜索相同的术语。这会给你另一个列表,称之为list2。然后,您可以以任何您想要的方式组合这两个列表 - 即创建一个新的 list3,它是 list1 和 list2 的串联,并且 list1 中的所有项目都在 list2 中的项目之前。希望这可以帮助。

于 2013-11-24T03:44:18.440 回答