Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
facet api /search api 里如何让搜索结果查询调用独立术语里的词汇? - Drupal大学 - Drupal问答论坛
首页 / 帖子
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貌似有限,需要自己定义。