これを行うには助けが必要です。Apache Solr インスタンスに対してクエリを実行するには、次の URL を作成する必要があります。
http://localhost:8080/solr/select?q=*%3A*&fq=deal_discount%3A[20+TO+*]&fq=deal_price%3A[*+TO+100]&fq={!geofilt+pt%3D45.6574%2C9.9627+sfield%3Dlocation_latlng+d%3D600}
ご覧のとおり、URL には「fq」という名前のパラメーターが 3 回含まれています。私が疑問に思っているのは、parse() メソッドの 2 番目の引数である Hash 内でパラメーター「fq」を 3 回渡す必要がある場合に URI.parse() メソッドを使用する方法です。
簡単なスニペットを次に示します。
path = 'http://localhost:8080/solr/select'
pars = { 'fq' => 'deal_price [* TO 100]', 'fq' => '{!geofilt pt=45.6574,9.9627 sfield=location_latlng d=600}' } # This is obviously wrong!
res = Net::HTTP::post_form( URI.parse(path), pars )
解決策は完全な URL を文字列として渡すことですが、この種の署名を提供するメソッドが見つかりません。
私の問題に対する簡単な解決策を投稿していただけますか? 前もって感謝します。