Я пытаюсь запустить поиск Solr и получаю 400 неверных запросов.
Из одного из наших Linux-боксов я могу запустить это для поиска Solr:
curl "http://address.com:port/solr/core_name/select?indent=on&q=column:first_name,last_name"
Это то, что я написал, чтобы попытаться выполнить этот запрос.
data class RoutingRequest(val columnNames: List<String>)
fun callSolrResponse(routingRequest: RoutingRequest): SolrResponse? {
val headers = HttpHeaders()
headers.contentType = MediaType.TEXT_PLAIN
val request = HttpEntity(routingRequest.columnNames.joinToString(separator =","), headers)
return restTemplate.postForObject(
"http://address.com:port/solr/core_name/select?indent=on&q=column:",
request,
SolrResponse::class.java
)
}
Если я уйду с поля select?indent=on&q=column:
и добавлю его в запрос, я получу 404 не найденных.
Должен ли я публиковать запрос как объект JSON?
Если изменить его на запрос на получение и использовать весь URL, возникнет ли проблема, если URL слишком большой? ИДК, как заставить его работать с почтовым запросом:
fun callSolrResponse(routingRequest: RoutingRequest): SolrResponse? {
val headers = HttpHeaders()
headers.contentType = MediaType.TEXT_PLAIN
return restTemplate.getForObject(
"http://address.com:port/solr/core_name/select?indent=on&q=column:".plus(routingRequest.columnNames.joinToString(separator =",")),
SolrResponse::class.java
)