Я пришел сюда, потому что я ищу (например, упоминаемое название), чтобы выполнить запрос из geotools (через geoserver), чтобы получить функцию из индекса solr.Сделать запрос solr от Geotools через geoserver
Чтобы быть более точным:
Я видел на Geoserver руководстве, что я могу сделать запрос на Solr, как это в Http:
http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=GetFeature
&typeName=mySolrLayer
&format="xxx"
&viewparams=q:"mySolrQuery"
Важной частью по этому URL является в viewparams, что я хочу для использования непосредственно с геоталоумов.
Я уже проверить это дело (это часть моего кода):
url = new URL(
"http://localhost:8080/geoserver/wfs?request=GetCapabilities&VERSION=1.1.0";
);
Map<String, String> param = new HashMap();
params.put(WFSDataStoreFactory.URL.key, url);
param.put("viewparams","q:myquery");
Hints hints = new Hints();
hints.put(Hints.VIRTUAL_TABLE_PARAMETERS, viewParams);
query.setHints(hints);
...
featureSource.getFeatures(query);
Но здесь, кажется, не работает, URL-адрес отправить GeoServer нормальный «GET ФУНКЦИИ» запрос без параметра viewparams.
Я пробовал это с помощью geotools-12.2; geotools-13.2 и geotools-15-SNAPSHOT, но мне не удалось передать запрос, geoserver отправил мне всю функцию в моей базе данных и не воспринимал «viewparams» как параметр.
мне нужно сделать это так, потому что на самом деле запрос пришел из другой программы, и я бы легко общаться этот запрос к другой части проекта ...
Если кто-то может мне помочь?
Хорошо, спасибо за вашу информацию, это то, что я подозревал. Для моей проблемы я хочу отправить прямой URL-запрос с помощью httpclient lib из geotools, это не лучшее решение, так как мы хотим сохранить наш код. Я подумал об этом, и я думаю, что сделаю запрос на solr напрямую, используя клиент SolrJ, потому что геосервер не является обязательным для нашего отображения фактических результатов. – kavind