Mam wiele dokumentów indeksowanych przez Solr 3.5, które zawierają pola dat (solr.DateField) między innymi. Teraz mam prośbę do komponentu SOLR które powinny nie zwraca wyników:Podział przez błąd zerowy Solr StatsComponent dla pola daty w przypadku braku wyników
http://example.com/solr/select?fq=sis_field_int:1000&
stats=true&stats.field=ds_field_date
i dostać błąd
HTTP Status 500 -/by zero java.lang.ArithmeticException:/by zero at
org.apache.solr.handler.component.DateStatsValues.addTypeSpecificStats
(StatsValuesFactory.java:384) at ...
Jeśli mogę wysłać wniosek bez statystyk części lub podać dowolny pole wyprzedzeń non-Date zamiast, ja się spodziewać odpowiedź bez wyników. Wygląda jak błąd Solr, który próbuje np. aby obliczyć średnią wartość w tym przypadku. Niestety nie znalazłem żadnych odniesień do tego problemu. Czy istnieje sposób na ominięcie lub rozwiązanie problemu?
Czy nie ma czeku, czy liczba jest równa zero? Czy istnieje sposób, aby ustawić inny moduł obsługi tego błędu w żądaniu na Solr inne niż odpowiedź HTTP 500? – dev4
@ dev4 Nie ma czeku! Myślę, że najlepszą rzeczą do zrobienia jest otwarcie problemu jira. Jeśli chcesz, możesz nawet dostarczyć łatkę, w przeciwnym razie na pewno ktoś to obejrzy, ja też mogę to zrobić. – javanna
@ dev4 Spójrz na moją zaktualizowaną odpowiedź! Poprawka została już zatwierdzona, będzie dostępna wraz z kolejną wersją Solr! – javanna