2012-06-27 50 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中