在执行查询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
答案 0 :(得分:0)
我不确定我是否正确理解您的用例,但TermsComponent可能符合您的需求。
它可以访问字段中的索引术语以及与每个术语匹配的文档数量。 (来自文档)。
在solrconfig.xml中配置组件后,查询应如下所示:
terms=true&terms.fl=name&terms.regex=.*b.*
答案 1 :(得分:0)
最后,我根据此补丁https://issues.apache.org/jira/browse/SOLR-1387
修改了facet搜索实现,并为自己建立了一个全新的solr war