Когда я построил свой запрос с данными Spring, он создал следующий запрос:
http://localhost:8983/solr/pride_projects/select?q=accession:*PXD*+OR+accession:*PRD*+AND+publication_date:[2012\-12\-31T00\:00\:00.000Z+TO+2012\-12\-31T00\:00\:00.000Z]
Это не дает мне никаких результатов. Я вручную изменил запрос в моем Solr на:
http://localhost:8983/solr/pride_projects/select?q=accession:*PXD*+OR+accession:*PRD*+publication_date:[2012\-12\-31T00\:00\:00.000Z+TO+2012\-12\-31T00\:00\:00.000Z]
Вот вывод:
{
accession: "PXD000002",
project_title: "The human spermatozoa proteome",
project_description: "The human spermatozoa proteome was in depth
characterized using shotgun iterative GeLC-MS/MS method with peptide
exclusion lists.",
project_sample_protocol: "This LC-MS/MS analysis was repeated twice
by digested band using an identified peptide exclusion list,
generated by Proteome Discoverer, from the previous LC-MS/MS runs of
the same sample.",
submission_date: "2012-01-02T00:00:00Z",
Удаление последнего AND и теперь запрос работает. Я бы ожидал аналогичного поведения с обоими запросами, но нет.
Любые идеи?





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