我有一个 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管理控制台查询此字段时,我能够获取文档。我在Solr之上有一个java spring tomcat应用程序,它构建了Solr查询并针对solr运行它。当我尝试搜索 Java 应用程序时,我没有得到匹配的文档作为回报。
我的 java 应用程序以 UTF-8 编码查询 URL。我的java tomcat服务器.xml有URIEncoding="UTF-8"。
似乎没有什么帮助。解决这个问题的任何想法都会有所帮助。
从以下位置查询时在 Solr 日志中查询,
Admin console : [["??elimir",+"F??rber",+"",+""]] --> Gives match
Java application : [["ESelimir",+"F????rber",+"",+""]] --> Gives no match
当您从 Java 应用程序调用 Solr 时,将 UTF-8 编码添加到请求标头中。