Странное поведение весны Solr - PullRequest
0 голосов
/ 15 мая 2018

Когда я строил свой запрос с данными 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 и теперь запрос работает. Я ожидал бы похожее поведение с обоими запросами, но нет.

Есть идеи?

1 Ответ

0 голосов
/ 15 мая 2018

Нет причины, по которой результат должен быть таким же, когда вы удаляете требование AND - поведение по умолчанию для вашей настройки, вероятно, состоит в том, что все пункты являются необязательными, за исключением случаев, когда вы конкретно указываете требование (через AND).

Поскольку ваш интервал publication_date соответствует только одной миллисекунде, он не соответствует ни одному документу - поэтому в вашем последнем запросе он игнорируется (и влияет на оценку, если документ соответствует).

2012-12-31T00:00:00.000Z TO 2012-12-31T00:00:00.000Z

.. начало вашего интервала совпадает с концом вашего интервала, но, поскольку вы использовали [ и ] (что означает, что само значение включено), вы получите соответствие для индексированного документа именно с этой миллисекунды.

Вы, вероятно, хотели фильтровать для гораздо более широкого диапазона.

...