2017-07-27 145 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