2015-09-07 2 views
0

Я пытаюсь выполнить очень простой запрос диапазона, но он возвращает «нулевые» результаты. Может ли кто-нибудь проверить, где я совершаю ошибку?CloudSearch simple Range

«Number_Field» - это поле INT, это должно быть дата, представленная yyyymmdd. Мне интересно получить все документы, которые были опубликованы до 20150906 годов. Я использую 2013 CloudSearch API.

Вот что я пытаюсь сделать: { 'д': '(поле Диапазон = number_field {[, 20150906])'}

q=%28range+field%3Dnumber_field+%7B%5B%2C20150906%5D%29 

ответ

1

Есть несколько вещей неправильно с вашим запросом:

  1. Вы начинаете диапазон с обеих инклюзивных ([) и эксклюзивные ({) операторов; он должен читать {,20150906], а не {[,20150906]

  2. Поскольку ваш запрос требует интерпретации (а не для соответствия строки), вам необходимо использовать структурированный анализатор запросов. Я не уверен, какую библиотеку вы используете, но вы, вероятно, можете это сделать, добавив 'q.parser': 'structured' в свой массив параметров.

  3. Вы написали Number_Field, а также number_field, но имейте в виду, что имена полей чувствительны к регистру.

Посмотрите на the docs для получения дополнительной информации.

+0

Отлично! Благодаря! – Thomas

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