我最近开始与cloudsearch合作。当我遇到“ Suggester”一词时,我感到困惑。我没有得到建议和前缀搜索之间的区别。那两个不一样吗?如果不能,请问我有什么区别?
谢谢。
答案 0 :(得分:3)
/suggest
API和前缀搜索在它们都执行前缀查询的意义上相似。但是有一些关键的区别和需要注意的建议:
我猜想,建议API与功能有限的集合一起抛出,只是为了使其易于提供“按需搜索”建议。根据我的经验,此API的一大缺点是,您依赖用户以其字段开头的确切字词开始查询。
以下是我公司的一个示例,以帮助说明该问题。假设您有5个文档,标题中带有“ soap”一词,但位置不同。仅将以开头的带有“ soap”的文档作为匹配项返回。
luxury bath soap
foaming hand soap
soap dispenser <--- (only prefix match)
liquid hand soap
dish soap
这些标题的显然 all 是相关的,因为它们都包含准确的搜索词。但是只有“肥皂分配器”是前缀匹配,这将导致糟糕的用户体验。我认为肯定有这样的前缀查询的地方,但是大多数用户对搜索索引不够熟悉,无法知道要开始搜索的单词。
我最终只使用了/search
API,因此我可以根据字段中的匹配项提供建议。我限制了返回的字段数,以限制响应主体的大小,这对我来说非常好。