Нет ответа YQL, когда он * не * должен быть - PullRequest
0 голосов
/ 11 января 2011

Для справки используйте http://jobs.sitesixteen.com/.

Я использую YQL для города, штатное автозаполнение.Если вы наберете «san», ответ от YQL будет null.Я обнаружил странную вещь: если вы наберете «los», ответ от YQL вернет результаты, как и ожидалось.

Это плохо сформированный запрос, и я просто его не вижу,или что-то на стороне Yahoo?

Как всегда, любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Это ответ, который я получил от Эдди Бэбкока из Yahoo!

Этот запрос содержит удаленный фильтр (text = "san *") и локальный фильтр (country.code = "US").Удаленный фильтр вызывает веб-службу, которая пытается найти все названия населенных пунктов в мире, которые начинаются с «san», но из-за того, что их так много, происходит тайм-аут и результаты не возвращаются.Вам нужно быть более избирательным в своем текстовом значении (добавьте больше начальных символов), чтобы веб-служба могла выполнить запрос."los *" преуспевает, потому что в мире меньше городов, начинающихся с "los".

Что по-прежнему заставляет меня думать, что проблема в том, как они его реализовали, но по крайней мереэтот вопрос теперь решен.

0 голосов
/ 11 января 2011

Вы не предоставляете достаточно информации.

Обратите внимание, что при заполнении поля State на этого конкретного веб-сайта вручную с помощью san он никогда не возвращает список.

Изменив запрос на san f (пространство SAN F), вы получите ожидаемые результаты.

http://query.yahooapis.com/v1/public/yql?callback=jsonp1294734397302&q=select+name,admin1.code+from+geo.places+where+text%3D%22san%20f*%22+and+country.code%3D%22US%22+limit+10+|+sort(field%3D%22popRank%22,+descending%3D%22true%22)&format=json&callback=cbfunc

EDIT

Сайт разработан таким образом. Это комментарий от функции jQuery, которая возвращает данные для выпадающего списка. Это объясняет логику запроса.

// select name,admin1.code from geo.places where text="medf*" and country.code="US" limit 10 | sort(field="popRank", descending="true")

Обратите внимание, как оно ограничено 10?

Ввод условия поиска, который возвращает более 10 результатов, не даст никаких результатов. Ввод san дает более 10 результатов, поэтому ничего не возвращает, в то время как ввод los возвращает 3 результата.

Это не связано с несоответствиями в YQL.

...