У меня есть следующий запрос, который я взял с моего URL
public static String query="pen&mq=pen&f=owners%5B%22abc%22%5D&f=application_type%5B%22cde%22%5D";
Я хочу запросить solr, используя этот запрос
CommonsHttpSolrServer server = new CommonsHttpSolrServer( "http://localhost:8080/solr/");
server.setParser(new XMLResponseParser());
SolrQuery solrQuery = new SolrQuery();
solrQuery.setQuery(query);
QueryResponse qr =server.query(solrQuery);
SolrDocumentList sdl = qr.getResults();
System.out.println("Found: " + sdl.getNumFound());
Я проверил свой запрос в файле журналов tomcat, и онпереводится как
path=/select params={version=2&wt=javabin&q=pen%26mq%3Dpen%26f%3Downers%255B%2522abc%2522%255D%26f%3Dapplication_type%255B%2522cde%2522%255D`
, и это дает мне 0 результатов, несмотря на наличие 500 документов.Я попытался декодировать свой запрос, используя
URLDecoder.decode(query,"UTF-8");
, но потом он начал жаловаться на знаки "[".
org.apache.lucene.queryParser.ParseException: Encountered " "]" "]
Как мне следует запрашивать сервер solr, используя этот запрос?Нужно ли анализировать запрос и принимать значение каждого фильтра, а затем использовать метод
solrQuery.setFilterQueries()
.Может кто-нибудь, пожалуйста, помогите мне в этом