我正在使用Spring RestTemplate調用Apache Solr索引。我手動形成一個請求字符串,並且不提供任何有意的{variable_name}模板擴展變量。查詢的一部分是術語{!lucene q.op = OR}。不幸的是,這被URITemplate引擎處理,作爲restTemplate.getForObject調用的一部分。使用Spring RESTTemplate停止URITemplate擴展
理想情況下,我想停止此處理。有沒有逃避{}字符,以便URITemplate不處理它們?我試過編碼字符,但RestTemplate假定一個非編碼的字符串,所以它們被編碼兩次,並在後端導致400:錯誤的請求。
樣品網址:
http://localhost/solr/select?q= {Lucene的 q.op = OR!} se_genbanklocus:* se_gb_create:* se_gb_update:* se_clone_name:* se_sample_tissue:* &面=真& facet.limit = 3 & facet.mincount = 1 & facet.field = se_sample_tissue & facet.field = se_sample_tissue_name & facet.field = se_sample_tissue_code & facet.field = se_sample_tissue_class & facet.field = se_nuc_acid_type & facet.field = ssam_sample_georegion &開始= 0 &行= 10
同意,我根據您的反饋改變了我的方法 – nialloc 2010-08-06 19:02:34