2017-07-27 146 views
0

在我的Centos 7工作站上,我使用elasticsearch(ver.5.5.1)服务:image:docker.elastic.co/elasticsearch/elasticsearch:5.5.1。俄罗斯字符以糟糕的字符集返回

我的工作站上的文件系统类型是xfs。

我有在/ usr /共享/ elasticsearch /数据/节点/ 0 /包含索引结构.tar归档文件: (JSON从kibana)

{ 
    "_index": "fias-addrobj", 
    "_type": "document", 
    "_id": "00173aad-ae1a-413e-b73c-d9e573923ef9", 
    "_score": 1, 
    "_source": { 
    "aoid": "00173aad-ae1a-413e-b73c-d9e573923ef9", 
    "formalname": "УчительÑкий", 
    "regioncode": "26", 
    "offname": "УчительÑкий", 
    "shortname": "проез", 
    "aolevel": 7, 
    "parentguid": "2a1c7bdb-05ea-492f-9e1c-b3999f79dcbc", 
    "aoguid": "1a10726e-c22d-4ed0-b01e-ebe7bce46ddf", 
    "actstatus": 1 
    } 
} 

开始登录我的JVM参数:

JVM参数[ -Xms2g,-Xmx2g,-XX:+ UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction = 75, -XX:+ UseCMSInitiatingOccupancyOnly, -XX:+ AlwaysPreTouch,-Xss1m, -Djava.awt.headless =真,-Dfile.encoding = UTF-8, -Djna.nosys =真, -Djdk.io.permissionsUseCanonicalPath =真, -Dio.netty.noUnsafe =真, -Dio .netty.noKeySetOptimization =真, -Dio.netty.recycler.maxCapacityPerThread = 0,-Dlog4j.shutdownHookEnabled =假, -Dlog4j2.disable.jmx =真, -Dlog4j.skipJansi =真, -XX:+ HeapDumpOnOutOfMemoryError , -Des.cgroups.hierarchy.override = /, -Xms512m,-Xmx512m,-DFile.encoding = UTF-8, -Des.path.home =的/ usr /共享/ elasticsearch ]

麻烦与正式名称 - 字符串,offname - 字符串,短名称 - 字符串错误的字符集。

+0

成功! 问题在于控制台编码错误。 – avkosme

回答

0

我只是想帮你,但我没有太多的声誉,所以我不能发表评论...

反正,我也有很多经验“字符集”是不匹配的。因此,我认为你必须进行一个更多的测试,即修改JVM选项。

我发现了两个与下面的Java选项有关的文档。

doc1。 链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html

doc2。 链接:https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html

两个文档是修改其他选项盯着elasticSearch,但JVM选项并不取决于elasticSearch。 所以,我认为尝试运行并不值钱。

ES_JAVA_OPTS = “ - 指定-Dfile.encoding = UTF-8” ./bin/elasticsearch

出口ES_JAVA_OPTS = “ - 指定-Dfile.encoding = UTF-8”。/bin/elasticsearch

+0

它是一个好主意,但不能解决问题 – avkosme