在执行查询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这样不相关的术语呢?
发布于 2015-01-15 15:58:55
最后,我基于这个补丁https://issues.apache.org/jira/browse/SOLR-1387修改了facet搜索实现,并为自己构建了一个全新的solr。
发布于 2015-01-09 14:08:06
我不确定我是否正确地理解了您的用例,但是TermsComponent可能适合您的需要。
它“提供对字段中索引项的访问以及与每个术语匹配的文档数量”(从docs)。
在您的solrconfig.xml中配置组件之后,查询应该如下所示:
terms=true&terms.fl=name&terms.regex=.*b.*https://stackoverflow.com/questions/27857051
复制相似问题