Ошибка HTTP 500 при вызове конечной точки REST Apache Stanbol в Solr Analyzer

Я пишу собственный анализатор Solr для отправки значения поля в Apache Stanbol для улучшения на этапе индексации.

В методе incrementToken() моего пользовательского анализатора у меня есть код ниже. Я отправляю значение токена в конечную точку усилителя Stanbol, используя 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;
}

person Dileepa Jayakody    schedule 11.11.2013    source источник


Ответы (1)


Это кажется странной прерывистой проблемой, когда я использую пользовательский интерфейс Solr Analysis (http://localhost:8983/solr/#/collection1/analysis) для тестирования моего анализатора.

Он отлично работает, когда я жестко кодирую входное значение в Analyzer и index. Я дал тот же ввод: «Тим Бернес Ли - профессор Массачусетского технологического института», жестко закодированный в классе Analyzer и из пользовательского интерфейса Solr Analysis. Периодически сбой ответа пользовательского интерфейса, когда я корректирую значение поля.

Кажется, это может быть проблема с кодировкой символов значения поля.

person Dileepa Jayakody    schedule 11.11.2013