我有一个书籍数据库,每个都附有一系列主题。我想构建一个查询,以便当用户搜索主题时,Solr返回按字母顺序跟随查询的主题列表。例如,如果用户要进行查询" whale",那么我希望Solr返回主题列表" whale hunting"," whales", " wheat"等我只对主题的聚合感兴趣,而不是对与查询匹配的项目感兴趣。
然而,存在一个问题,即一本书可以有多个科目。如果一个文件有主题"北极"和"鲸鱼",然后查询"鲸鱼"比赛"鲸鱼",但"北极"也出现在我的方面,这是我不想要的。我希望避免解析所有结果,因为这是一项可能很昂贵的操作。
对此最佳解决方案是什么?有没有办法告诉Solr只返回刻面为[whale * TO *]的方面?或者我可以构建我的查询,以便它只考虑匹配的主题是方面的一部分吗?
我已经看过并使用JSON请求API进行了一些修改,看起来它可能是解决方案,但我无法使各种过滤器等工作。
答案 0 :(得分:0)
facet.prefix参数限制了与其相关的术语 从给定的字符串前缀开始。这不限制查询 无论如何,只有响应的回复方面 查询。可以在每个字段的基础上指定此参数 f..facet.prefix的语法。
[示例强>
facet.prefix=whales
这将仅返回包含鲸鱼作为前缀的主题。
还有另一个参数 facet.contains 限制条件facet到包含给定子字符串的那些。
P.S : - 上面的参数不会以任何方式限制查询,只会限制为响应查询而返回的构面。