2016-09-01 1 views
29

В Google Custom Search мы передаем критерии диапазон дат в параметре сортировкиGoogle пользовательского поиска критериев диапазон дат сортировки не работает

http://www.example.com/search?cx=xxxxxxxxxxxxxxxxxxxxx:yyyyyy_yyyyy&q=google&sort=date:r:20160304:20160505. 
https://developers.google.com/custom-search/docs/structured_search#restrict_to_range 

Но мы не получают ожидаемого результата в соответствии с критериями, по диапазону дат. После отладки кода параметр сортировки не передается на пользовательский URL-адрес поиска, даже когда мы передаем его на наш URL-адрес поисковой страницы.

Google Пользовательский поиск URL:

https://cse.google.com/cse?q=google&r=m&cx=xxxxxxxxxxxxxxxxxxxxx:yyyyyy_yyyyy&fexp=20606&client=google-coop&hl=en&type=0&oe=UTF-8&ie=UTF-8&format=p4&ad=p4&nocache=1081472127237880&num=0&output=uds_ads_only&source=gcsc&v=3&allwcallad=1&adext=as1%2Csr1%2Cctc1&bsl=10&u_his=50&u_tz=330&dt=1472127237882&u_w=1366&u_h=768&biw=1349&bih=233&psw=1349&psh=233&frm=0&uio=uv3st16sd13sv13lhsl1sr1cc1-&jsv=14100&rurl=http%3A%2F%2Fwww.example.com%2Fsearch%3Fcx%xxxxxxxxxxxxxxxxxxxx_yyyyy%26q%3Dgoogle%26sort%3Ddate%253Ar%253A20160304%253A20160505 

Но когда мы пытаемся получить доступ к прямому API с параметром даты сортировки диапазона мы получаем ожидаемые результаты.

https://www.googleapis.com/customsearch/v1?q=google&cx=xxxxxxxxxxxxxxxxxxxxx:yyyyyy_yyyyy&sort=date%3Ar%3A20160701%3A20160724&key=<APIKEY> 

Мы используем реализацию V2 для пользовательского поиска Google.

Спасибо, Anup

+1

Будет полезно поделиться вашими кодами JavaScript (для создания URL-адреса Google Custom Search) *, чтобы сообщество могло внимательно изучить возможное исправление. – nyedidikeke

ответ

1

Похоже, вопрос с кодировкой параметров URL. Это может быть двойное кодирование.

+0

Это не работает. –

1

Я думаю, что в коде ур делать какие-либо спецсимволы для запроса Params попытаться удалить, что проверить

2

Try, чтобы избежать всех специальных символов, которые передаются в качестве параметров запроса. Например,

> - &lt; 
< - &gt; 
& - &amp; 
' - &#039; 
'' - &#034; 

Они кодируются следующим образом. Вы можете избежать этого двумя способами:

  1. явно указывая escapeXml = "**false**", поскольку значение по умолчанию будет истинным.
  2. Добавьте URL-адрес в JSP, если вы используете <%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>, а затем сбежите по телефону ${fn:escapeXml(myString)}.
+0

@ Возможно, вы также можете попробовать эту опцию –

+0

Не работает. –

+0

@Anirudh - JFYI Я использовал JS-реализацию GCE. –

0

Убедитесь, что вы используете правильный формат.

https://www.googleapis.com/customsearch/v1?key=INSERT_YOUR_API_KEY&cx=017576662512468239146:omuauf_lfve&q=searchterm&sort=document-weight 

Спасибо!

+0

Правильный формат чего? –

Смежные вопросы