Ошибка HTTP 500 при вызове конечной точки REST Apache Stanbol в Solr Analyzer
Я пишу собственный анализатор Solr, чтобы опубликовать значение поля в Apache Stanbol для улучшения на этапе индексации.
В моем методе incrementToken() моего пользовательского анализатора ниже приведен код. Я отправляю значение токена на конечную точку Stanbol Enhancer, используя клиент REST в Джерси. Вместо ожидаемого результата улучшения я всегда получаю сообщение об ошибке HTTP 500 при работе анализатора.
Но та же логика REST-клиента работает при ее выполнении в основном методе Java-приложения.
Может кто-нибудь, пожалуйста, помогите мне определить, где проблема? Может ли это быть проблемой с разрешениями Java, вызывая конечную точку сети в анализаторе Solr?
public boolean incrementToken() throws IOException {
if (!input.incrementToken()) {
return false;
}
char[] buffer = charTermAttr.buffer();
String content = new String(buffer);
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/enhancer");
ClientResponse response = webResource.type("text/plain").accept(new MediaType("application", "rdf+xml")).post(ClientResponse.class, content);
int status = response.getStatus();
if (status != 200 && status != 201 && status != 202) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println(output);
charTermAttr.setEmpty();
char[] newBuffer = output.toCharArray();
charTermAttr.copyBuffer(newBuffer, 0, newBuffer.length);
return true;
}
1 ответ
Это кажется странной, периодически возникающей проблемой, когда я использую пользовательский интерфейс Solr Analysis (http://localhost:8983/solr/#/collection1/analysis)
для тестирования моего анализатора.
Это прекрасно работает, когда я жестко кодирую входное значение в анализаторе и индекс. Я привел то же мнение: "Тим Бернс Ли - профессор в MIT", жестко запрограммированный в классе Analyzer и в интерфейсе Solr Analysis. Ответ пользовательского интерфейса периодически прерывался, когда я настраивал значение поля.
Это может быть проблемой с кодировкой символов значения поля, которое кажется.