Диапазоны дат, включая даты BC, это возможно?Фильтрация даты SOLR и даты BC/BCE/диапазоны дат
Я хотел бы вернуть грань за все годы между 11000 г. до н.э. (BC) и 9000 г. до н.э. (BC) с использованием SOLR.
Пример запроса может быть с диапазонами дат, преобразованных в ISO 8601:
q=*:*&facet.date=myfield_earliestDate&facet.date.end=-92009-01-01T00:00:00&facet.date.gap=%2B1000YEAR&facet.date.other=all&facet=on&f.myfield_earliestDate.facet.date.start=-112009-01-01T00:00:00
Однако возвращаемые результаты, как представляется, свидетельствуют о том, что даты в положительном диапазоне, то есть CE, а не до н ...
см образец вернулся результаты
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">6</int>
<lst name="params">
<str name="f.vra.work.creation.earliestDate.facet.date.start">-112009-01-01T00:00:00Z</str>
<str name="facet">on</str>
<str name="q">*:*</str>
<str name="facet.date">vra.work.creation.earliestDate</str>
<str name="facet.date.gap">+1000YEAR</str>
<str name="facet.date.other">all</str>
<str name="facet.date.end">-92009-01-01T00:00:00Z</str>
</lst>
</lst>
<result name="response" numFound="9556" start="0">ommitted</result>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields"/>
<lst name="facet_dates">
<lst name="vra.work.creation.earliestDate">
<int name="112010-01-01T00:00:00Z">0</int>
<int name="111010-01-01T00:00:00Z">0</int>
<int name="110010-01-01T00:00:00Z">0</int>
<int name="109010-01-01T00:00:00Z">0</int>
<int name="108010-01-01T00:00:00Z">0</int>
<int name="107010-01-01T00:00:00Z">0</int>
<int name="106010-01-01T00:00:00Z">0</int>
<int name="105010-01-01T00:00:00Z">0</int>
<int name="104010-01-01T00:00:00Z">0</int>
<int name="103010-01-01T00:00:00Z">0</int>
<int name="102010-01-01T00:00:00Z">0</int>
<int name="101010-01-01T00:00:00Z">0</int>
<int name="100010-01-01T00:00:00Z">5781</int>
<int name="99010-01-01T00:00:00Z">0</int>
<int name="98010-01-01T00:00:00Z">0</int>
<int name="97010-01-01T00:00:00Z">0</int>
<int name="96010-01-01T00:00:00Z">0</int>
<int name="95010-01-01T00:00:00Z">0</int>
<int name="94010-01-01T00:00:00Z">0</int>
<int name="93010-01-01T00:00:00Z">0</int>
<str name="gap">+1000YEAR</str>
<date name="end">92010-01-01T00:00:00Z</date>
<int name="before">224</int>
<int name="after">0</int>
<int name="between">5690</int>
</lst>
</lst>
</lst>
</response>
Любые идеи, почему это так, то может SOLR обрабатывать отрицательные даты, такие как -112009-01-01T00: 00: 00Z?
Я могу подтвердить ту же самую проблему с '-' для запросов, составленных с математикой даты, а также вопрос с iso 8601 (отрицательными) датами, такими как« -112009-01-01T00 : 00: 00Z». Я опубликую это на Apache Jira в ближайшее время. Спасибо, что подтвердили это. На боковой ноте, чтобы выбрать грань, возвращенную из запроса диапазона по датам, вопрос фасет, такой как fq = dateFieldName: 2009-01-01T00: 00: 00Z по-прежнему подходит? –