我需要一些帮助:我必须构建以下 URL 才能执行针对 Apache Solr 实例的查询:
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 倍。我只是想知道如何使用 URI.parse() 方法,如果我需要在作为 parse() 方法的第二个参数的哈希中传递三倍的参数“fq”。
这是一个简单的片段:
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 作为字符串传递,但我找不到提供这种签名的方法。
您能否为我的问题发布一个简单的解决方案?提前致谢。