我有一系列产品。对于每个产品,我都必须创建一个 solr faceted 搜索。
以下“产品”的示例:
Computer
TV
MP3-Player
通过使用分面搜索,我想确定每种产品在 PRODUCT 字段中存在的频率。结果如下
Comupter (3)
-apple
-ibm
-dell
TV (5)
-sony
-toshiba
[...]
MP3-player (10)
-[...]
现在,我意识到通过对每个单词/产品使用一个多面搜索。这可行,但使用以下选项在 400 毫秒内返回结果:
'facet' => 'true'
'facet.field' => 'PRODUCT'
'facet.method' => 'enum'
'facet.limit'=>200
'facet.mincount'=>4
'fq' => 'PRODUCT:computer' <- by iterating an array with PHP i change the product (computer,tv,...) on every iteration
不幸的是,在现实生活中没有 3 种产品(如上面的示例),大约有 100 种相关产品。这意味着:PHP 脚本必须请求 100 次 solr 搜索,时间为 400 毫秒 - 所以脚本运行 40 秒,这太长了。我无法对“所有”产品(没有“fq =”)进行无限制/无限制的多面搜索,因为有成千上万的产品,我不需要每个人的信息。
有没有办法实现更好的性能,例如将这些多个 solr 请求合并为一个?
谢谢!