私のウェブサイトのファセット検索を設定しようとしていますが、問題が発生しています。solr phpクライアントで多値フィールドを使用してファセット検索を効率的に行うにはどうすればよいですか?
ファセットフィールドは、dynamic multiValuedフィールドとして設定されます。ほとんどの製品は、ファセットされたフィールドごとに1つの値しか持たないが(*は、格納されている製品属性のattributeidであるfq_ *と指定されている)、複数の値を持つものもある。
ファセット検索では、1つ以上の製品がファセット属性で複数の値を持つ商品カテゴリにアクセスしようとするまですごく素早く作業していました。このカテゴリ(とそれ以外のもの)では、PHPのsolrクライアントからエラーが発生します: "500" Status:Internal Server Error。
しばらく検索したところ、エラーを解決したという意味で "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"
}
);
あなたがのために実際のパラメータ(それらのすべてを)投稿できますあなたの質問? – netcoder
質問を編集してパラメータを追加しました。 – Chris