6

私は現在、正常に動作している Solr クライアント/サーバーのペアを実行しています。

ただし、場合によっては、fqSolr に送信されるフィルター クエリ (パラメーター) が非常に大きく (数千文字になる場合もあります)、切り詰めることができません。クエリの解析にかかる時間は全体のほんの一部であるため、このクエリ部分を圧縮して Solr に送信することを試してみたいと思います。

クライアントを変更することを考えていたので、代わりにfq別のパラメーターを使用します (例: zfq)。Solr は、受信zfqした場合はそれを使用し、データを にデコードしますfq。それ以外の場合は、通常どおりに動作する必要があります。

上記を達成するための標準的な方法は何ですか?SearchHandler, requestHandler, (両方とも solrconfig.xml にあります) と他の多くのものがあるように見えますが、<queryParser最も邪魔にならないものはよくわかりません。Lucene/Tomcat にはかなりの自信がありますが、Solr のデータ構造についてはよくわかりません。

4

2 に答える 2

1

Solr コンテナーに非常に長い URL を使用させることができます: Tomcat はこちらJetty はこちら

にデフォルト値がある場合はfq、デフォルトでそれを含むクエリ パーサーを作成できます。

  <requestHandler name="for_some_queries" class="solr.SearchHandler" default="true">
    <!-- default values for query parameters -->
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <str name="fq">MY VERY LONG FQ</str>
     </lst>
  </requestHandler>

しかし、より良いデザインについてはマウリシオ・シェファーに同意します。

于 2012-05-02T09:36:57.140 に答える
0

この構文 -category:(1 2 3 4 ... N) の使用について考えたことはありますか。これにより、文字列が 90% 削減されます。ジッパーよりも優れています。

于 2012-05-17T19:30:31.547 に答える