0

text_en2 つのフィールドを検索する次のリクエスト ハンドラがありTitleますBody。クエリは、最小一致設定なしで機能します。mm フィールドを使用し、検索文字列が 2 語以上の場合、次のようになります。

null:java.lang.ArrayIndexOutOfBoundsException: 1
at org.apache.solr.util.SolrPluginUtils.calculateMinShouldMatch(SolrPluginUtils.java:547)

私のリクエストハンドラ:

  <requestHandler name="/broadQuery" class="solr.SearchHandler">
    <lst name="defaults">
        <str name="defType">edismax</str>
        <str name="wt">xml</str>
        <str name="fl">ListingId</str>
        <str name="qf">Title^2 Body</str>
        <str name="rows">100</str>
        <str name="pf">Title^4 Body^2</str>
        <str name="ps">0</str>
        <str name="echoParams">all</str>

        <str name="mm">2 3&lt;-1 5&lt;-2 6&lt;-40%</str> <!-- HERE -->
    </lst>
  </requestHandler>

問題:何が原因で、どのように解決できるか。

4

1 に答える 1

1

mm パラメータの形式が間違っていると思います。仕様によると、複数の条件付きパラメーターのみを組み合わせることができます。ただし、最初のパラメーター (2) は条件付きではありません。式全体を一連の条件付きパラメーターとして書き直して、これがなくなるかどうかを確認できますか。

または、彼らの例 (2<-25% 9<-3) を試して、同じ問題が発生するかどうかを確認します。そうでない場合は、問題が発生するか、必要なものが得られるまで、自分のものに合わせて変更を続けてください。

于 2013-01-20T18:10:07.810 に答える