現在正常に動作しているSolrクライアント/サーバのペアを実行しています。Solrでカスタムクエリパラメータを追加する正しい方法
ただし、Solrに送信されるフィルタクエリ(fq
パラメータ)は非常に大きく(数千文字になる可能性があります)、トリミングできません。クエリの構文解析にはonly a fraction of the overall timeが必要なので、このクエリ部分を圧縮してSolrに送信してみてください。
fq
の代わりに、別のパラメータ(例:zfq
)を使用してクライアントを変更することを検討していました。 Solrは、zfq
を受け取った場合、それを使用してデータをfq
にデコードします。それ以外の場合は、通常どおりに動作するはずです。
上記を達成するための標準的な方法は何ですか?外見は、SearchHandler
,requestHandler
,<queryParser
(どちらもsolrconfig.xml内)などのように見えます。私はLucene/Tomcatにはかなり自信がありますが、Solrのデータ構造についてはあまり知られていません。
1つの 'fq'に何千もの文字が正しく表示されません。制限を回避しようとするのではなく、なぜあなたがそれらの限界に突っ込んでいるのか、自分自身に尋ねてください。あなたの本当の*問題を説明してください。 –
実際の問題はこの質問の範囲外です。しかし、あなたがそれを聞きたいなら、確かに、問題ありません!長さは、アクセス許可の実装方法に基づいています。権限セットが広い顧客の場合、フィルタクエリは "*:* - カテゴリ:1 AND - カテゴリ:2 AND ... - カテゴリ:N"のようになります。パターンが繰り返されるので、圧縮のための完璧な候補です。 – mindas
あなたはドキュメントレベルのセキュリティについてこのJIRAの問題を見たことがありますか? https://issues.apache.org/jira/browse/SOLR-1834 –