使用Solr计算剩余结果的数量

时间:2016-12-22 10:15:03

标签: search solr filter

我有一个带汽车的数据库,我想创建过滤器,让用户更快地搜索它们。我曾经和Solr合作过,但我从未使用过facet。

过滤器应该像这样工作:

  • 品牌
    • 宝马(4)
    • 大众(5)
    • 丰田(6)
  • 颜色
    • 红色(4)
    • 蓝色(3)
    • 黄色(2)
    • 绿色(3)
    • 白色(3)
  • 类型
    • 体育(5)
    • Sedan(10)

如果用户选择了一个,它应该像这样结束:

  • 品牌
    • 宝马(1)
    • 大众(2)
    • 丰田(1)
  • 颜色
    • 红色(4)< - 已选择
    • 蓝色( - )
    • 黄色( - )
    • 绿色( - )
    • 白色( - )
  • 类型
    • 体育(1)
    • 轿车(3)

使用Solr存档此类内容的最佳方法是什么? Facets是否适合这个?我做了一些研究,但我没有找到任何显示此类功能的文档。这种过滤有名称吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

是的,使用Solr facets可以实现这一目标。 将字段名称指定给facets.field

将您的文件索引到Solr。您可以将一些链接引用为this,以将您的数据库索引编入Solr。索引后,与facets组件一起查询。

示例:

http://localhost:8983/solr/collection/select?indent=on&q=*:*&wt=json&facet=true&facet.field=cat

向下滚动以查看facets结果,如下所示。

"facet_fields":{
      "cat":[
        "book",17,
        "electronics",12,
        "paperback",6,
        "currency",4,
        "memory",3,
        "connector",2,
        "graphics card",2,
        "hard drive",2,
        "search",2,