Solrj-编码问题



我有一个文档,其中一个字段作为标题,值为-Mörder(o上有一个元音变音符)。

当我使用以下方法在java中获取它时,两个print命令中返回的值都是Morder(r上有一个元音变音符)。奇怪的

当我转到Solr提供的Web UI时,标题是Mörder(o上有元音变音符)。

有人能告诉我出了什么问题吗?

    SolrQuery query = new SolrQuery();
    query.setParam("q", "<some query>");
    query.setStart(start);
    query.setRows(rows);
    query.setFacet(false);
    query.setFields("title");
    QueryResponse rsp = server.query(query);
    SolrDocumentList sdl = rsp.getResults();
    for (SolrDocument sdOl : sdl) {
        System.out.println(sdOl.getFieldValue("title"));
        System.out.println(new String(sdOl.getFieldValue("title").toString().getBytes, "UTF-8"));
    }

编辑

我实际上是在比较两个核心的文档标题。一个返回正确的元音变音符,但另一个总是将元音变音符移动到下一个字符。

Unicode分解被大/小印度字节转换搞砸了?只是一个疯狂的(半开玩笑的)猜测。

实际上,没有答案,但我会放上Wireshark,看看客户端在问什么,服务器在回答什么。这将告诉您问题是在离开服务器还是在到达客户端时。

我不知道你的客户端配置,但如果流量是二进制的,有一些客户端选项可以将其切换到XML。如果这本身就解决了问题,那么问题就出在javabin格式上。如果没有,至少您有确切的查询和响应可供使用。

相关内容

  • 没有找到相关文章

最新更新