Я пытаюсь запустить запрос solr в начале моих тестов, чтобы получить кучу списков, которые я буду использовать в тестовом прогоне.Запрос Solr работает в браузере, но не использует RestTemplate org.apache.solr.search.SyntaxError: не удается разобрать
Если я сделать этот запрос в Chrome я получаю ответ JSon:
MYAPIDOMAIN/solr/listings/select?q=category:commercial+AND+property_type:office&fl=listing_id,listing_status&group=true&group.main=true&group.field=listing_status&group.limit=1&rows=100&wt=json&indent=on
В тестах я использую Spring RestTemplate, чтобы сделать вызов затем я разобрать ответ JSON, он работает для некоторых моих запросы, но для этого я просто получаю сообщение об ошибке назад:
"responseHeader":{
"status":400,
"QTime":7,
"params":{
"q":"category:commercial%2BAND%2Bproperty_type:office",
"group.main":"true",
"indent":"on",
"fl":"listing_id,listing_status",
"group.limit":"1",
"rows":"100",
"wt":"json",
"group.field":"listing_status",
"group":"true"}},
"error":{
"msg":"org.apache.solr.search.SyntaxError: Cannot parse 'category:commercial%2BAND%2Bproperty_type:office': Encountered \" \":\" \": \"\" at line 1, column 41.\nWas expecting one of:\n <EOF> \n <AND> ...\n <OR> ...\n <NOT> ...\n \"+\" ...\n \"-\" ...\n <BAREOPER> ...\n \"(\" ...\n \"*\" ...\n \"^\" ...\n <QUOTED> ...\n <TERM> ...\n <FUZZY_SLOP> ...\n <PREFIXTERM> ...\n <WILDTERM> ...\n <REGEXPTERM> ...\n \"[\" ...\n \"{\" ...\n <LPARAMS> ...\n <NUMBER> ...\n ",
"code":400}}
Я ничего о Solr запросов я просто дал им использовать в тестах не знаю, очевидно, что это проблема кодирования, но я не знаю, где. Я пробовал использовать URLEncoder, я нашел некоторые онлайн-кодировщики URL, но, похоже, ничего не получается.
Может кто-нибудь, пожалуйста, скажите мне, что в этом плохого? У меня есть еще 5 запросов, которые мне нужно сделать, поэтому мне действительно нужно исправить.
Спасибо
Спасибо, что работает отлично! – MisterMan
@MisterMan отлично –