2012-03-12 6 views
1

solrjを使用してドキュメントソルバーを追加すると、コンテンツがエンコードされますか?solrjはコンテンツをエンコードしますか?

CommonsHttpSolrServer server = new CommonsHttpSolrServer(
      "http://localhost:8080/solr/"); 
SolrInputDocument doc = new SolrInputDocument(); 
doc.addField("id", 1); 
doc.addField("city", "Zürich"); 
server.add(doc); 
server.commit(); 

次のコードで検索すると、他の町の仕事が見つかりません。

SolrQuery solrQuery = new SolrQuery(); 
solrQuery.set(CommonParams.WT, "json"); 
solrQuery.setQuery("Zürich"); 

QueryResponse rsp = locationSearchServer.query(solrQuery); 
return rsp.getBeans(City.class); 

デバッガでは、クエリパラメータがUTF-8に自動的にエンコードされていることがわかります。

私もtomcat http://wiki.apache.org/solr/SolrTomcat#URI_Charset_ConfigにUTF-8プロパティを追加しましたが、効果はありません。

エンコードされたコンテンツを追加する必要がありますか、これは私のためにsolrjしていますか?

答えて

2

GETによるクエリが国際文字で失敗する可能性があるという問題があります。通常これはTomcat-Paramによって解決されるはずですが、私の場合はそうではありません。

オールウェイズ機能するソリューションは、POST

QueryResponse rsp = locationSearchServer.query(solrQuery, METHOD.POST); 
として送信され
関連する問題