Przeprowadzam kwerendę z rdzeniem SOLR i ograniczam wynik przy użyciu filtru , takiego jak fq: {!frange l=0.7 }query($q)
. Jestem świadomy, że wyniki SOLR nie mają wartości bezwzględnej, ale 0,7 (tylko przykład) jest obliczana na podstawie danych wejściowych użytkownika i niektórych heurystyk, które działają całkiem dobrze.Uzyskiwanie stabilnych wyników SOLR
Problem jest następujący: Aktualizuję kilka dokumentów w moim rdzeniu. Zaktualizowane pola są tylko polami danych meta, które nie są związane z wyszukiwaniem powyżej . Ale ponieważ aktualizacja jest wewnętrznie usuń + insert, IDF i doc liczy zmiany. Podobnie obliczone wyniki. Nagle moje zapytanie zwraca różne wyniki.
Jak wyjaśnił mi Yonik here, to zachowanie jest zgodne z projektem. Moje pytanie brzmi: jaki jest najprostszy i minimalny sposób na utrzymanie stabilności wyników i wyników zapytania?
Uruchamianie optymalizacji po każdym zatwierdzeniu powinno rozwiązać problem, ale ja zastanawiam się, czy jest coś prostszego i mniej kosztownego.