Solrj кодирует контент? - PullRequest
       2

Solrj кодирует контент?

1 голос
/ 12 марта 2012

Когда я добавляю документ solr с использованием 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.

Я также добавил свойство UTF-8 в tomcat http://wiki.apache.org/solr/SolrTomcat#URI_Charset_Configно без эффекта.

Должен ли я добавить закодированное содержимое или мне это нужно?

1 Ответ

2 голосов
/ 13 марта 2012

Проблема в том, что запросы GET могут завершаться ошибкой с международными символами.Обычно это должно быть решено с помощью Tomcat-Param, но в моем случае это не так.

Решение, которое всегда работает, отправляет его как POST

QueryResponse rsp = locationSearchServer.query(solrQuery, METHOD.POST);
...