Solr搜索:与搜索查询匹配的多值字段的计数



下面是我在solr 中的文档

[{"url": "/buy/1/", "items": ["i_123", "i_1234", "i_12345", "i_12346"]},  {"url": "/buy/2/", "items": ["i_123", "i_1234", "i_12346"]}, {"url": "/buy/3/","items": ["i_123", "i_12346"]},  {"url": "/buy/4/","items": ["i_123", "i_234", "i_2345"]}]

我的查询是fq=items:(i_123 i_1234 i_12345),那么结果页面应该给出与查询项相匹配的项计数。

结果应该有一个额外的字段matching_items_count

[{"url": "/buy/1/""items": ["i_123", "i_1234", "i_12345", "i_12346"],"matching_items_count" : 3}, {"url": "/buy/2/","items": ["i_123", "i_1234", "i_1234444"],"matching_items_count" : 2}, {"url": "/buy/3/","items": ["i_123", "i_12346"],"matching_items_count" : 1}, { "url": "/buy/4/","items": ["i_123", "i_234", "i_2345"],"matching_items_count" : 1}]

在这种情况下,可以使用Function查询来获取计数。

在Filed列表(fl(中,除了url项目字段外,您还可以编写-

url,items,count:sum(termfreq(items,"i_123"),termfreq(items,"i_1234"),termfreq(items,"i_12345"))

相关内容

  • 没有找到相关文章

最新更新