Есть ли структурированный запрос CloudSearch для возврата результатов, которые не имеют значения в поле? Например, у меня есть поле target_date
, которое не всегда имеет значение, и я хочу вернуть все результаты без target_date. Это поле не равно нулю или не установлено по умолчанию; он вообще не существует для предметов без даты.CloudSearch - возвращает результаты, когда поле не существует
Существует еще один случай. Мне нужно вернуть все результаты после target_date
И включать любые результаты без существующей даты. Структурированный запрос, который я использую, - target_date:['2000-03-03T00:00:00Z',}
. Запрос найти несуществующие даты должны работать с and
оператором, как: (and target_date:['2000-03-03T00:00:00Z',} [QUERY_GOES_HERE])
запроса '(диапазон поля = target_date [0,})' не делает работа над полем даты и '(range field = target_date ['0000-00-00T00: 00: 00Z',})' дал мне результаты с существующими датами. Если нет ничего, кроме «взлома», который может это сделать, тогда я думаю, что значение по умолчанию было бы лучшим решением. Есть ли у вас какие-либо другие предложения? – Siphon
Если '(range field = target_date ['0000-00-00T00: 00: 00Z',})' дал вам результаты _with_ дат, вы можете попробовать отрицать его с помощью '(NOT (range field = target_date ['0000-00- 00T00: 00: 00Z ',})) '(см. Оператор NOT: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-compound-queries.html) – alexroussos
Это отлично работает! Иногда простые детали - это те, которые мы пропускаем. – Siphon