0

Solrnetを使用して、ユーザーが選択できる一連のオプション(フレーズ、正確なフレーズなど)に基づいてSolrに複合クエリを発行しています。除外、近接など。SolrQueryByFieldAPIを使用して選択されたオプションに基づいて個々のクエリを作成し、SolrMultipleCriteriaQueryとAND演算子を使用して組み合わせを組み合わせています。ただし、クエリをSolrに送信すると、送信されるqパラメーターには、すべての用語に+記号が追加されます。

q=(ContentSearch:(roman)+AND+ContentSearch:("test+case")+AND+-ContentSearch:(wine)+AND+(ContentSearch:(A)+OR+ContentSearch:(B))+AND+ContentSearch:("catacombs+wine"~5)+AND+ContentSearch:([10+TO+20]))}

+AND+または"test+case"または+AND+-または10+TO+20がクエリパーサーを台無しにしています。誰かがこれに遭遇したことがありますか?solrnetがリクエストをsolrに送信しているときのURLエンコードと関係がありますか?

4

1 に答える 1

0

SolrNet 0.4.0 を使用している場合は、SolrQueryByField にオプションのパラメータを設定できます。Quoted=falseこれにより、特殊文字をエスケープする QueryByField のデフォルトの動作が停止します。

于 2013-02-19T16:20:01.197 に答える