私は一連の製品を持っています。製品ごとに、solr ファセット検索を作成する必要があります。
次の「製品」の例:
Computer
TV
MP3-Player
ファセット検索を使用して、すべての製品がフィールド PRODUCT にどのくらいの頻度で存在するかを判断するのが好きです。次の結果で
Comupter (3)
-apple
-ibm
-dell
TV (5)
-sony
-toshiba
[...]
MP3-player (10)
-[...]
今、私はすべての単語/製品に対して1つのファセット検索を使用することでそれを実現しています. これは機能しますが、次のオプションを使用すると、結果が 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 スクリプトは 400 ミリ秒で 100 回の solr 検索を要求する必要があるため、スクリプトの実行に 40 秒かかり、これは長すぎます。「すべての」製品 (「fq=" なし) の無制限/無制限のファセット検索を実行することはできません。これは、何千もの製品があり、すべての情報だけを必要としないためです。
たとえば、これらの複数のsolrリクエストを1つにマージするなど、パフォーマンスを向上させる方法はありますか?
ありがとうございました!