2つのクエリを必要とするSolrソリューションが機能していますが、1つのクエリでそれを実行する方法を探しています。私の考えは、これを行う方法を見つけられれば、Solrクラスターの2倍の負荷のオーバーヘッドを負担する必要がないということです。
詳細:「fq = type:digital」というクエリフィルターを使用して、「q=camera」のような単純なクエリを実行しています。2番目のクエリは最初のクエリと同じですが、フィルターは「fq = -type:digital」のように逆です。最初のフィルターを適用して最初のセットを取得するときに単一のクエリを実行する方法があると想像しています。次に、topDocsを使用して、2番目のフィルターを使用して2番目のセットを生成し、結果をマージして返すことができます(2つのセットを並べ替えて混合するかどうかは関係ありません)。
インデックス作成中に特定のフィールドを2つの異なるグループにマークし、Solrの「グループ化」クエリを使用してデータを分割することを試みましたが、これらの応答時間は私のセットアップでは受け入れられませんでした。
私は、実験するための最もSolrに一致するアプローチの提案を探しています:2クエリソリューションのパフォーマンスを改善するための調整、または一種のカスタムSolrポストフィルターの調査(Yonikの2012年2月のブログ投稿を読んだ)。
これをSolr3.5で実装する必要がありますが、4.0にスラムダンクソリューションがあれば、最終的にはそれに移行できるようになります。