Solr查询非UTF-8字符

时间:2017-11-16 23:30:49

标签: java tomcat encoding utf-8 solr

我有一个Solr集群,其名称字段定义为:

<field name="Name" type="token" indexed="true" stored="true" multiValued="true" omitTermFreqAndPositions="false"/>

<fieldType name="token" class="solr.TextField" omitNorms="true" positionIncrementGap="1">
        <analyzer>
            <tokenizer class="solr.KeywordTokenizerFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
    </fieldType>

我将数据存储在此字段中:

[[\"Želimir\", \"Färber\", \"\", \"\"]]
[[\"Jexper\", \"Testäverde\", \"\", \"\"]]

当我从Solr管理控制台查询此feild时,我能够获取该文档。我在Solr之上有一个java spring tomcat应用程序,它构建Solr查询并针对solr运行它。当我尝试搜索Java应用程序时,我不会得到匹配的文档作为回报。

我的java应用程序以UTF-8编码查询URL。 我的java tomcat server.xml有URIEncoding =&#34; UTF-8&#34;。

似乎没有任何帮助。任何解决此问题的想法都会有所帮助。

在查询时查询Solr日志,

Admin console    : [[\"??elimir\",+\"F??rber\",+\"\",+\"\"]] --> Gives match
Java application : [[\"ESelimir\",+\"F????rber\",+\"\",+\"\"]] --> Gives no match

1 个答案:

答案 0 :(得分:0)

从Java应用程序调用Solr时,将UTF-8编码添加到请求标头中。