【发布时间】:2015-01-09 09:07:48
【问题描述】:
在执行查询 name:*b* AND country:China(名称包含“b”)时,我希望 solr 返回每个不同术语的人数(来自中国)
Documents(name are whitespace delimiter toknized):
[
{name: 'sponge bob'},
{name: 'billy chen'},
{name: 'abie white'}
]
预期结果
[
{term: 'bob', matches: 100},
{term: 'billy', matches: 90},
{term: 'abie', matches: 80}
]
尝试:构面搜索
我尝试像q=name:*b*+%3AAND+%3Acountry:China&facet=on&facet.field=name这样的查询
结果包括不相关的术语
[sponge,1, bob, 1, ...]
我怎样才能使用不相关的术语,例如 sponge
【问题讨论】:
-
为什么 abie 虽然个子矮,但得分却比 billy 低?您的查询并不意味着您有兴趣以 b 开头?
-
@Yann 匹配的不是分数,而是有多少名为“abie”的人
-
只对名称进行搜索,对名称进行分面并不能达到您想要的效果?
-
@Yann 我会更新问题以明确说明
-
知道了 - 如果您创建另一个字段,它应该可以工作,内容与名称相同,但没有标记化(只需将其存储为字符串)。然后使用这个新字段作为你的分面字段。