我正在尝试对我的网站进行分面搜索,但遇到了一些问题。
方面字段设置为动态多值字段。虽然大多数产品对于每个方面字段只有一个值(指定为fq_ux,其中*是要存储的产品属性的attributeID),但有些产品有多个值。
在我尝试访问我们产品的一个类别之前,分面搜索工作非常好而且快速,其中一个或多个产品在分面属性上有多个值。对于这个类别(以及其他类似的类别),我从php solr客户机得到一个错误:“500”状态:内部服务器错误。
在搜索了一段时间后,我发现将facet.method设置为“enum”,它解决了这个错误——但是这大大增加了加载页面所需的时间。
有没有什么方法可以更有效地进行这种分面搜索?(我可以用比“fc”方法稍长的时间来处理它,但不会太长)。
谢谢。
编辑(以下是参数):
$solr->search('categoryid:4810', 0, 15, array(8) {
["sort"]=>
string(17) "price_Default asc"
["facet"]=>
string(4) "true"
["facet.field"]=>
array(12) {
[0]=>
string(7) "mfgname"
[1]=>
string(14) "fq_33111116587"
[2]=>
string(14) "fq_33111116586"
[3]=>
string(14) "fq_33111114704"
[4]=>
string(11) "fq_33113118"
[5]=>
string(9) "fq_331472"
[6]=>
string(10) "fq_3312052"
[7]=>
string(9) "fq_331611"
[8]=>
string(10) "fq_3312304"
[9]=>
string(14) "fq_33111116919"
[10]=>
string(9) "fq_331100"
[11]=>
string(9) "fq_331710"
}
["facet.sort"]=>
string(5) "false"
["facet.mincount"]=>
int(1)
["facet.missing"]=>
string(5) "false"
["facet.limit"]=>
int(-1)
["facet.method"]=>
string(4) "enum"
}
);