2012-06-27 25 views
0

我正在使用Solrj索引Solr中的文档,其中一个字段是url。在创建solr文档并将其传递给SolrServer时,我没有进行任何明确的解码,以保持url的原始格式。但是,一旦它被索引,网址就被解码。如何防止solr在编制索引时解码url?

下面是一个包含撇号的测试示例。


http://test.com/test/Help/What%e2%80%99s_N1 

Solr中的索引,它被解码为


http://test.com/test/Help/What's_N1 

下面是一个示例代码:


SolrServer solrServer = new StreamingUpdateSolrServer(solrPostUrl, solrQueueSize, solrThreads); 
SolrInputDocument solrDoc = new SolrInputDocument(); 
solrDoc.addField("url", "http://test.com/test/Help/What%e2%80%99s_N1"); 
UpdateResponse solrResponse = solrServer.add(solrDoc); 

我看着SolrInputDocument对象,它确实有正确的格式,即编码版本。

我会很感激,如果有人可以提供这个指针。

感谢

回答

1

我觉得这是你的断词

良好的通用标记者剥去许多外来 字符,并设置令牌类型有意义的值,因为。令牌类型为 ,仅适用于识别类型相同的令牌类型的后续令牌过滤器。没有任何使用StandardTokenizer类型的筛选器。

约standardTokenizer

检查出来here

你可以改变这一切行为Solr的/ schema.xml中