Нет причины, по которой результат должен быть таким же, когда вы удаляете требование AND - поведение по умолчанию для вашей настройки, вероятно, состоит в том, что все пункты являются необязательными, за исключением случаев, когда вы конкретно указываете требование (через AND
).
Поскольку ваш интервал publication_date
соответствует только одной миллисекунде, он не соответствует ни одному документу - поэтому в вашем последнем запросе он игнорируется (и влияет на оценку, если документ соответствует).
2012-12-31T00:00:00.000Z TO 2012-12-31T00:00:00.000Z
.. начало вашего интервала совпадает с концом вашего интервала, но, поскольку вы использовали [
и ]
(что означает, что само значение включено), вы получите соответствие для индексированного документа именно с этой миллисекунды.
Вы, вероятно, хотели фильтровать для гораздо более широкого диапазона.