繁体   English   中英

在Solr Analyzer中调用Apache Stanbol REST端点时出现HTTP 500错误

[英]HTTP 500 error when invoking Apache Stanbol REST endpoint in Solr Analyzer

我正在编写一个Solr定制分析器,以将字段的值发布到Apache Stanbol以便在索引阶段进行增强。

在我的自定义分析器的增量令牌()方法中,我有以下代码。 我正在使用Jersey REST客户端将令牌的值发布到Stanbol Enhancer端点。 在运行分析器时,总是得到HTTP 500错误响应,而不是预期的增强结果。

但是,在Java应用程序main方法中执行时,相同的REST客户端逻辑也可以工作。

有人可以帮我确定问题出在哪里吗? 在Solr分析器中调用Web端点可能是Java权限问题吗?

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;
}

当我使用Solr Analysis UI (http://localhost:8983/solr/#/collection1/analysis)测试我的Analyzer时,这似乎是一个奇怪的间歇性问题。

当我在分析器和索引中对输入值进行硬编码时,它可以正常工作。 我提供了相同的输入:“ Analyst”类和Solr Analysis UI中对“ Tim Bernes Lee是MIT的教授”进行了硬编码。 调整字段值时,UI响应间歇性失败。

这似乎与字段值的字符编码有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM