首页 / 帖子
facet api /search api 里如何让搜索结果查询调用独立术语里的词汇?

想实现比如像天猫这样的筛选项,通过多个术语建立的词汇(独立于NODE,NODE并没有关联术语),来判别搜索结果(Node)分别包含了哪些术语,再通过facet api展示出来。

之前提了一个相关的问题,关于view的 http://drupal001.net/question/1939

2个答案
刘伯彪
发布于:2015-10-21 16:27

具体的问题没有太看懂。就讲讲类似的问题吧。
首先,实现Solr的facet(分面搜索)用的是solr的facet接口,这个接口其实就是一个查询选项。
Drupal调用solr的接口,也就是调用查询url,实现分面就是给这个url加上一个facet参数。

facet说白了就是一个SELECT,如下:

 SELECT [FieldName], count(1) FROM table group by [FieldName]

就是某个字段每一个下的每项结果数据的count值。


facet参数:

facet=on/true      #代表开启facet
facet.field=cate  #代表要统计的面(分组),相当于group by
facet.limit =20    #每个分组最多返回条数
facet.mincount = 1 #这个表示分组下某一条目的最小数据量
facet.missing = on/true #统计null的值
facet.method =   #默认为fc, fc表示Field Cache


参考: http://my.oschina.net/baowenke/blog/103002


AnnyO
发布于:2015-10-21 17:48

最近在做facet api的东西,用solr作为后台。
分享下:
1.大部分字段都在这个页面设置 admin/config/search/search_api/index/[search_index_name]/fields
2.如果还不满足,则需要修改默认提供的solr的词汇xml(貌似名字是schema.xml)。
3.现有的faect api widget貌似有限,需要自己定义。