0
我有我從我的網址採取了以下查詢查詢Solr中
public static String query="pen&mq=pen&f=owners%5B%22abc%22%5D&f=application_type%5B%22cde%22%5D";
我想用這個查詢
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日誌文件來查詢Solr的,它是翻譯爲
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()
方法。有人可以幫我這麼做
因此,我需要解析從url中獲取的查詢字符串 – sparkle
在使用SolrJ的情況下,是的。您不能直接從Solr管理頁面(我假設)構建的直接URL將其粘貼到SolrJ中作爲查詢。您需要使用SolrJ方法構建相同的參數。我會回答你的問題中的所有參數。 –